4

我使用带有 clang_complete 的 Vim 来完成全功能。

当我需要完成时,插件会自动触发,例如,在我键入.->访问对象成员或方法之后(见下面的截图)。

clang_complete 显示 std::map 方法

该插件工作得非常好,但是我需要一种手动触发它的方法(即编译我的代码以进行语法检查)。

这很有用,原因有两个:

  1. 静态语法检查
  2. 清除先前已修复的错误(否则将保留在其缓冲区中)。请参阅下面的两个屏幕截图以获得更好的理解。

任何帮助表示赞赏。谢谢。


截图 1


第 3 行出错


截图 2


错误已修复


4

2 回答 2

3

来自 clang_complete 文档:

        *clang_complete-periodic_quickfix*
        *g:clang_periodic_quickfix*
If equal to 1, it will periodically update the quickfix window.
Default: 0
Note: You could use the g:ClangUpdateQuickFix() to do the same with a mapping.

如果将此变量设置为 1,它将定期更新 quickfix 窗口,(并且)或者您可以创建一个映射:

nmap <leader>uq :call g:ClangUpdateQuickFix()

这样 \uq 会导致更新。(当然,使用你的领导者映射,自然)

于 2012-06-29T12:32:28.820 回答
1

如果您正在寻找动态的语法检查,我建议您看一下syntastic,它基本上在您的代码上运行 g++ --fsyntaxonly 并在您的缓冲区上标记错误。您还可以将其配置为使用 clang!

于 2012-08-07T06:05:27.323 回答