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

时间:2014-07-10 14:29:44

标签: vim

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

3 个答案:

答案 0 :(得分: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

就个人而言,我已经注意到删除包含的文件确实很有帮助,因此,在我的.vimrc中,我使用:

set complete-=i

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

有关详细信息,请参阅:help 'complete'

答案 1 :(得分:4)

如果您对“有时”这个(大型项目,包含许多包含的复杂C文件,......)有感觉,您也可以使用<C-x><C-n>本地文件完成,请参阅{{ 1}}。这样,您仍然可以使用默认完成,并且不需要使用:help i_CTRL-X_CTRL-N选项。

答案 2 :(得分:2)

:help i_ctrl-n说:

Find next match for words that start with the
keyword in front of the cursor, looking in places
specified with the 'complete' option. The found
keyword is inserted in front of the cursor.

下一步是相当明显的,不是吗?