vim 的自动完成:如何防止 vim 读取一些包含文件?

vim 的自动完成:如何防止 vim 读取一些包含文件?

Vim 有方便的 Ctrl-N 键,可以自动补全光标下的单词,包括当前文件或任何包含文件中的单词。如果我包含 boost 库,此功能就变得毫无用处,因为读取整个 boost 包含文件需要几十秒,而且我真的不想补全 boost 中定义的任何内容。那么,如何告诉 vim 在查找包含文件时忽略 /usr/include/boost 目录?哦,我如何设置“include”选项以忽略任何 #include <boost/.*> ?

答案1

您正在寻找的选项是'完全的',但它没有定义您要求的粒度。您所能做的就是指定是否扫描包含的文件。要禁用对所有包含文件的扫描,您可以

set complete-=i

否则,设置'include'为忽略提升可能是您的最佳选择。

set include=^\\s*#\\s*include\ \\(<boost/\\)\\@!

请注意,正如我在其他评论中提到的那样,您不应该使用"来指定选项,因为那是 Vim 的注释字符。相反,您需要转义空格。

答案2

好的,我找到了第二部分的答案:

set include="#include \\(<boost\\)\\@!"

相关内容