限制vim自动完成仅搜索当前文件?

Tho*_*son 3 vim

ctrl+n并且ctrl+p非常方便地完成Vim,但有时它非常慢,可能导致当前源中包含过多的头文件.是否可以选择限制自动完成以仅搜索当前源文件(或打开的流)?

Xav*_* T. 5

你必须玩这个complete选项.

从帮助文件中,

The default is ".,w,b,u,t,i", which means to scan:
   1. the current buffer
   2. buffers in other windows
   3. other loaded buffers
   4. unloaded buffers
   5. tags
   6. included files
Run Code Online (Sandbox Code Playgroud)

就个人而言,我注意到删除包含的文件确实很有用,所以,在我的.vimrc中,我使用:

set complete-=i
Run Code Online (Sandbox Code Playgroud)

但您也可以删除(或添加)其他列表.

有关:help 'complete'更多信息,请参阅


Ing*_*kat 5

如果您对这个“有时”是什么时候有感觉(一个大型项目,一个包含许多包含的复杂 C 文件,...),您还可以使用<C-x><C-n>本地文件补全,请参阅:help i_CTRL-X_CTRL-N. 这样,您仍然可以使用默认完成,并且不需要弄乱'complete'选项。