在macvim中为dvi文档启用reversearch

时间:2011-06-10 13:10:47

标签: vim vi macvim latex-suite

我几乎成功地在Mac上从Linux(ubuntu)迁移了我的vim设置。我喜欢的是带有前进的vim乳胶套件(按下编译按钮,生成的dvi文件将直接到达此位置)和反向搜索(按下dvi文件中的CTR和鼠标左键,它会向右跳到您按下的tex文件的代码中的位置)。在Linux下,它正在运行但不在MacVim下。以下是错误消息的图片:

enter image description here

以下是我对乳胶套件的.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有关,或者在上面提到的设置中传递一些错误的参数。希望有人可以帮助我。

的Matthias

1 个答案:

答案 0 :(得分:2)

在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开关,因此以上内容应该有所帮助。让我知道你是怎么走的。