在vimrc和gvimrc中使用相同的“au FilterWritePost” - 都在vim中调用?

时间:2010-12-06 17:49:05

标签: vim

如果au FilterWritePost * do_something中的.vimrcau FilterWritePost * do_something2中的.gvimrc并且打开gVim并执行此事件,则会调用.gvimrc或{{1}}定义“覆盖”.vimrc定义(仅限do_something2而不是do_something,或两者都有)?

2 个答案:

答案 0 :(得分:4)

是的,他们会的。您可以通过这种方式输入来防止这种情况发生

au! FilterWritePost * do_something2

这个!告诉自动命令用相同的FilterWritePost签名替换任何其他自动命令。如果启动gvim,.vimrc将首先启动.gvimrc,以便.vimrc中的自动命令将替换为.gvimrc中的版本

答案 1 :(得分:4)

除了jackerran答案:使用自动命令组:

" Name may be any, but it should not be equal to any of events name. "
" Case is ignored "
augroup ThisDoesSomething
    " Wipe out every event from this group "
    autocmd!
    autocmd! FilterWritePost * do_something
augroup END

将它们同时放入vimrc和gvimrc是安全的:au!将清除重复项。如果它们发生。