Vim 使用 autocmd 时出错:没有匹配的自动命令
我正在使用 Vim 插件 clang_complete,并且我想在每次保存文件时更新 QuickFix 窗口中的编译错误。因此,正如文档所说,我必须调用函数 g:ClangUpdateQuickFix()
。
问题是,下一个 autocmd 每当执行时都会给我下一条消息,尽管它似乎有效:
没有匹配的自动命令
我使用的 autocmd 是:
autocmd BufWritePost *.c,*.cpp ,*.cxx,*.cc 调用 g:ClangUpdateQuickFix()
该消息的含义是什么?
I'm using the Vim plugin clang_complete and I want to update the compilation errors in the QuickFix window whenever I save the file. So as the doc says, I must call the function g:ClangUpdateQuickFix()
.
The thing is that the next autocmd gives me the next message whenever it is executed despite it seems to work:
No matching autocommands
The autocmd I use is:
autocmd BufWritePost *.c,*.cpp,*.cxx,*.cc call g:ClangUpdateQuickFix()
What is the meaning of that message?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
显示的消息来自 clang_complete 本身。一些 vim 插件(不是 clang_complete)会在快速修复窗口发生变化时重新解析它。幸运的是,vim 为此提供了一个自动命令:QuickFixCmdPost,因此这些插件使用它来重新解析快速修复消息。
在 clang_complete 中,由于我们正在修改快速修复窗口并且我们不想破坏现有插件,因此我们需要手动触发此 autocmd。当您不使用这些插件时,您会收到没有匹配的自动命令消息。
The displayed message come from clang_complete itself. Some vim plugins (not clang_complete) are reparsing the quickfix window whenever it changes. Fortunately, vim provide an autocmd for that: QuickFixCmdPost, so these plugins are using this to reparse the quickfix messages.
In clang_complete, since we're modifiying the quickfix window and we don't want to break existing plugins, we need to trigger this autocmd manually. What you get is the No matching autocommands message when you don't use those plugins.