Включить обратный поиск для документов DVI в Macvim
Я почти успешно перенес свои настройки vim из Linux (ubuntu) на Mac. Что мне понравилось, так это латексный пакет для vim с форвардом (нажмите кнопки компиляции, и сгенерированный файл dvi переместится прямо в эту позицию) и обратным поиском (нажмите CTR и левую кнопку мыши в файле dvi, и он переместится вправо к месту в коде текстового файла, где вы нажали). Под Linux он работает, но не под MacVim. Вот изображение сообщения об ошибке:
Вот мои настройки.vimrc для набора латекса:
" LateX SUITE HACKS
" =================
" inverse | forward search (http://forum.ubuntuusers.de/topic/vim-vim-latexsuite-vim-gtk)
" her are the forward search
:let g:Tex_ViewRule_dvi = 'xdvi -editor "vim --servername xdvi --remote +\%l \%f" $* &'
:let g:Tex_ViewRuleComplete_dvi = 'xdvi -editor "vim --servername xdiv --remote +\%l \%f" $* &'
" settings for determining tex filetype
:let g:tex_flavor = "latex"
map ,lj :execute '!cd ' . expand(Tex_GetMainFileName(':p:h')) . ' && xdvi -editor "vim --servername 'v:servername' --remote-wait +\%l \%f" -sourceposition ' . line(".") . substitute(expand('%:p'),expand(Tex_GetMainFileName(':p:h')).'\/','','') . " " . expand(Tex_GetMainFileName(':p:r')) . ".dvi &" <CR><CR>
" default output of compiling (pressing ,lj) is dvi
:let g:Tex_DefaultTargetFormat="dvi"
Я получил эти настройки с http://vim.wikia.com/wiki/Vim_can_interact_with_xdvi Я запускаю vim с псевдонимом:
alias vi='/Applications/MacVim.app/Contents/MacOS/Vim -g'
alias vim='/Applications/MacVim.app/Contents/MacOS/Vim -g'
Он должен иметь какое-то отношение к xserver или, возможно, к неправильному аргументу, передаваемому в настройках, упомянутых выше. Надеюсь, кто-нибудь может мне помочь.
Матиас
1 ответ
В вашем vimrc попробуйте изменить строки с vim --servername
использовать полный путь /Applications/MacVim.app/Contents/MacOS/Vim
Вы могли бы поместить это в переменную
let g:vimPath = "/Applications/MacVim.app/Contents/MacOS/Vim"
затем
:let g:Tex_ViewRule_dvi = 'xdvi -editor "' . g:vimPath . ' --servername xdvi --remote +\%l \%f" $* &'
:let g:Tex_ViewRuleComplete_dvi = 'xdvi -editor "' . g:vimPath . ' --servername xdiv --remote +\%l \%f" $* &'
" settings for determining tex filetype
:let g:tex_flavor = "latex"
map ,lj :execute '!cd ' . expand(Tex_GetMainFileName(':p:h')) . ' && xdvi -editor "' . g:vimPath . ' --servername 'v:servername' --remote-wait +\%l \%f" -sourceposition ' . line(".") . substitute(expand('%:p'),expand(Tex_GetMainFileName(':p:h')).'\/','','') . " " . expand(Tex_GetMainFileName(':p:r')) . ".dvi &" <CR><CR>
Обратите внимание, что MacVim отличается от обычного gvim несколькими способами и не является стандартным клиентским приложением X, различия можно найти с помощью команды :help macvim
, Переключатель servername все еще поддерживается, поэтому вышеприведенное должно помочь. Дайте мне знать, как вы идете.