#vim #vi #macvim #latex-suite
#vim #vi #macvim #latex-suite
Вопрос:
Я почти успешно перенес свои настройки vim из Linux (Ubuntu) на Mac. Что мне понравилось, так это latex-suite для vim с прямым поиском (нажмите кнопки компиляции, и сгенерированный файл dvi сразу переместится в эту позицию) и обратным поиском (нажмите CTR и левую кнопку мыши в файле dvi, и он переместится прямо в то место в коде файла tex, где вы нажали). В Linux это работает, но не в MacVim. Вот изображение сообщения об ошибке:
Вот мои настройки .vimrc для пакета latex:
" 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" $* amp;'
:let g:Tex_ViewRuleComplete_dvi = 'xdvi -editor "vim --servername xdiv --remote %l %f" $* amp;'
" settings for determining tex filetype
:let g:tex_flavor = "latex"
map ,lj :execute '!cd ' . expand(Tex_GetMainFileName(':p:h')) . ' amp;amp; 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 amp;" <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 или, возможно, какой-то неправильный аргумент передается в настройках, упомянутых выше. Надеюсь, кто-нибудь сможет мне помочь.
Matthias
Ответ №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" $* amp;'
:let g:Tex_ViewRuleComplete_dvi = 'xdvi -editor "' . g:vimPath . ' --servername xdiv --remote %l %f" $* amp;'
" settings for determining tex filetype
:let g:tex_flavor = "latex"
map ,lj :execute '!cd ' . expand(Tex_GetMainFileName(':p:h')) . ' amp;amp; 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 amp;" <CR><CR>
Пожалуйста, обратите внимание, что MacVim отличается от обычного gvim несколькими способами и не является стандартным клиентским приложением X, различия можно найти с помощью команды :help macvim
. Однако переключатель servername по-прежнему поддерживается, поэтому вышесказанное должно помочь. Дайте мне знать, как у вас дела.
Комментарии:
1. Работает отлично, ты мой герой дня.