反向搜索
如果你希望双击SumatraPDF能够返回到vim编辑器, 请把如下代码加入到_vimrc(windows系统):
"反向搜索
let g:Tex_DefaultTargetFormat = 'pdf'
let g:Tex_MultipleCompileFormats='pdf, aux'
let g:Tex_ViewRule_pdf = 'SumatraPDF -reuse-instance -inverse-search "gvim -c \":RemoteOpen +\%l \%f\""'
let g:Tex_CompileRule_pdf = 'xelatex -synctex=1 -src-specials -interaction=nonstopmode $*'
请确保gvim在系统路径中, 方法:在命令行输入gvim并回车, 如果能打开即可.
正向搜索
暂时未找到修改vimrc实现的办法. 需要修改ftplugin/latex-suite/compiler.vim
(346-348行, latex-suite版本:1.8.23, vim版本7.4)
if (has('win32') && (viewer =~? '^ *yap\( \|$\)'))
let execString = 'silent! !start '. viewer.' -s '.line('.').expand('%').' '.mainfnameRoot
将其替换成:
if (has('win32') && (viewer =~? "^ *yap\( \|$\)" || viewer =~? "^sumatrapdf"))
if viewer =~? "^sumatrapdf"
let relativeFile=substitute(expand("%:p"), Tex_GetMainFileName(':p:h').'/', '','')
let execString = 'silent! !start SumatraPDF -reuse-instance "'.mainfnameFull.'.'.s:target.'" -forward-search "'.relativeFile.'" '. line('.')
else
let execString = 'silent! !start '. viewer.' -s '.line('.').expand('%').' '.mainfnameRoot
endif
保存, 退出.
在tex文件编辑时, 可以用\lv
打开pdf, \ls
搜索当前编辑位置.
注意, 新版vim和latex-suite中正向搜索已经不需要网传的那个补丁了.
我参考了这里的博客.
本作品采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循署名-非商业用途-保持一致的创作共用协议.