【问题标题】:Call a function in Vim’s `autocmd` command在 Vim 的 `autocmd` 命令中调用函数
【发布时间】:2009-11-19 20:36:50
【问题描述】:

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

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

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

我怎样才能做到这一点?

【问题讨论】:

    标签: vim function autocmd


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2011-12-15
        • 2012-07-28
        • 1970-01-01
        • 1970-01-01
        • 2021-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多