在autocmd中调用Vim插件命令失败,E488:尾随字符

时间:2016-04-06 20:52:33

标签: vim

需要一些帮助来解释为什么我无法在VIM中调用来自autocmd的插件命令:

autocmd! Syntax * if !empty(&l:filetype) | RainbowToggleOn | endif

Vim检测到语法错误:

Error detected while processing Syntax Auto commands for "*":
E488: Trailing characters:  RainbowToggleOn | endif

1 个答案:

答案 0 :(得分:0)

我认为这个问题是由反向加载订单引起的。出于某种原因,autocmd中的vimrc在加载插件之前正在运行。我的猜测是它与Rainbow.vim的结构方式有关。

根据这个答案,加载顺序是正确的:Does Vim load plugins after loading vimrc?

所以我能够通过延迟命令的ref查找来解决:

autocmd! Syntax * if !empty(&l:filetype) | exec 'RainbowToggleOn' | endif