latex-suite正向/反向搜索
反向搜索
如果你希望双击SumatraPDF能够返回到vim编辑器, 请把如下代码加入到_vimrc(windows系统):
1 2 3 4 5 |
"反向搜索 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)
1 2 |
if (has('win32') && (viewer =~? '^ *yap\( \|$\)')) let execString = 'silent! !start '. viewer.' -s '.line('.').expand('%').' '.mainfnameRoot |
将其替换成:
1 2 3 4 5 6 7 |
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中正向搜索已经不需要网传的那个补丁了.
我参考了这里的博客.
本作品采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循署名-非商业用途-保持一致的创作共用协议.
发表回复