如何告诉Vim编辑器我的包含文件路径,以便在按 CTRL + N 时自动完成功能名称?
例如,我有一个如下的C程序:
#include<stdio.h>
int main()
{
sca // here I press control+N, it does not complete to scanf
}
答案 0 :(得分:19)
在.vimrc
中,添加.vimrc
的路径:
set path+=/usr/include/**
set path+=/my_include_dir/include
set path+=/my_include_dir/srclib/apr/**
set path+=/my_other_include_dir/srclib/apr-util/**
** means all sub-directories.
* means all contained directories
. means all files in the directory of the found file
+= means prepend to existing path (iirc)
您也可以打开文件然后输入
来检查路径:checkpath
这将为您提供缺少的所有包含文件的列表。注:它似乎不处理预处理器指令,因此您将得到一些误报。输入
:checkpath!
将提供已找到和缺失的包含文件的完整列表。
答案 1 :(得分:16)
此外,重要的是要注意有许多完成功能。
^x ^o = "omnicomplete"
^x ^i = "included-files completion"
^x ^f = "path completion"
^x ^l = "Complete this line using one that looks the same"
见
:help ins-completion
了解更多。
答案 2 :(得分:3)
如果文件位于标准位置,Vim也可能已知道路径。
c为C-N&GT;使用'完整'选项,标志i
扫描包含的文件。要将i
添加到“完成”:
set complete+=i
您还可以从要完成的符号中获取标记文件,您可以将其用于:
set complete+=t