需要一些帮助来解释为什么我无法在VIM中调用来自autocmd
的插件命令:
autocmd! Syntax * if !empty(&l:filetype) | RainbowToggleOn | endif
Vim检测到语法错误:
Error detected while processing Syntax Auto commands for "*":
E488: Trailing characters: RainbowToggleOn | endif
答案 0 :(得分:0)
我认为这个问题是由反向加载订单引起的。出于某种原因,autocmd
中的vimrc
在加载插件之前正在运行。我的猜测是它与Rainbow.vim
的结构方式有关。
根据这个答案,加载顺序是正确的:Does Vim load plugins after loading vimrc?
所以我能够通过延迟命令的ref查找来解决:
autocmd! Syntax * if !empty(&l:filetype) | exec 'RainbowToggleOn' | endif