Включить обратный поиск для документов 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 все еще поддерживается, поэтому вышеприведенное должно помочь. Дайте мне знать, как вы идете.

Другие вопросы по тегам