10 vim
Vim 有方便的 Ctrl-N 键,可以用当前文件或任何包含的文件中的单词自动完成光标下的单词。如果一旦我包含 boost 库,这个功能就变得绝对没用了,因为读取整个 boost 包含需要几十秒钟,而且我真的不想完成任何在 boost 中定义的东西。那么如何在查找包含文件时告诉 vim 忽略 /usr/include/boost 目录呢?哦,我如何设置 'include' 选项以忽略任何 #include <boost/.*> ?
小智 16
您正在寻找的选项是'complete',但它没有定义您要求的粒度。您所能做的就是指定是否扫描包含的文件。要禁用扫描所有包含的文件,您可以
set complete-=i
Run Code Online (Sandbox Code Playgroud)
否则,设置'include'忽略提升可能是您的最佳选择。
set include=^\\s*#\\s*include\ \\(<boost/\\)\\@!
Run Code Online (Sandbox Code Playgroud)
请注意,正如我在其他评论中提到的,您不应该使用"来指定选项,因为那是 Vim 的注释字符。相反,您需要转义空格。
小智 1
好的,我找到了第二部分的答案:
set include="#include \\(<boost\\)\\@!"
Run Code Online (Sandbox Code Playgroud)