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


10

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

vim 

Answers:


16

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

set complete-=i

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

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

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


1

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

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

实际上,您只是取消了包含选项。“是Vim的注释字符,所以你基本上是跑‘集包括=’
jamessan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.