使用 VIM 向 PDF 阅读器传递选项

使用 VIM 向 PDF 阅读器传递选项

我有一个 BASH 脚本,它可以重新编译一个 latex 文档,并在缓冲区写回时使用我的 PDF 阅读器重新打开它。我的 '.vimrc' 中的命令如下所示:

autocmd BufWritePost *.tex !~/scripts/latex_update.sh %

这种方法效果很好,但阅读器总是打开 PDF 的第一页。这很不方便,因为我必须滚动才能查看我刚刚做的更改。我想设置一个名为“page_num”的 VIM 变量,并将其作为第二个参数传递给我的脚本。

我在 VIM 中尝试过这个:

:let g:page_num=2

然后我将“autocmd”更改为:

 autocmd BufWritePost *.tex !~/scripts/latex_update.sh % g:page_num

但是,全局变量“page_num”不会被其值替换。如何让 VIM 传递“page_num”的值?

谢谢!

答案1

:exe在执行其余命令之前使用扩展变量应该可以工作:

autocmd BufWritePost *.txt exe '!~/scripts/latex_update.sh %' g:page_num

请注意,您不需要连接(.运算符)或在前面放置空格,g:page_num因为:exe这是其参数扩展的一部分。

相关内容