在Vim的`autocmd`命令中调用一个函数

时间:2009-11-19 20:36:51

标签: vim function autocmd

我想在expand中使用autocmd函数。特别是,我正在调整Paul Biggar的tip,我想在我的.gvimrc中使用以下自动命令:

autocmd FileType tex set makeprg=rubber-info\ expand("%:t:r").log

- 这当然不起作用。所以我真正想要的是,在打开tex文件时,makeprg变量设置为rubber-info filename.log的值,其中filename是TeX的名称文件没有文件扩展名。

我该如何做到这一点?

2 个答案:

答案 0 :(得分:2)

你可以尝试这样的事情;未经测试,可能不完全正确,但使用exe通常是我如何解决这类问题。

autocmd FileType tex exe "set makeprg=rubber-info\\ " . expand("%:t:r") . ".log"

答案 1 :(得分:2)

另一种方法是使用makeprg设置&l:makeprg

autocmd FileType tex let &l:makeprg = "rubber-info " . expand("%:t:r") . ".log"

如果您想了解有关使用:help let-&设置选项的更多信息,请参阅:let