带有autocmd的Vim出错:没有匹配的自动命令

时间:2011-10-25 22:13:27

标签: vim clang code-completion

我正在使用Vim插件 clang_complete ,我想在保存文件时更新QuickFix窗口中的编译错误。正如文档所说,我必须调用函数g:ClangUpdateQuickFix()

事情是,下一个autocmd会在执行时给出下一条消息,尽管它似乎有效:

没有匹配的自动命令

我使用的autocmd是:

autocmd BufWritePost *.c,*.cpp,*.cxx,*.cc call g:ClangUpdateQuickFix()

该消息的含义是什么?

1 个答案:

答案 0 :(得分:2)

显示的消息来自clang_complete本身。一些vim插件(不是clang_complete)在每次更改时都会重新定位quickfix窗口。幸运的是,vim为它提供了一个autocmd:QuickFixCmdPost,所以这些插件正在使用它来重新解析quickfix消息。

在clang_complete中,由于我们正在修改quickfix窗口并且我们不想破坏现有的插件,我们需要手动触发此autocmd。当您不使用这些插件时,您得到的是无匹配的自动命令消息。