Vim 使用 autocmd 时出错:没有匹配的自动命令

发布于 2024-12-12 07:39:52 字数 359 浏览 1 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七禾 2024-12-19 07:39:52

显示的消息来自 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文