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\\)\\@!"