C 另一个文件中包含的库中的Vim自动完成

C 另一个文件中包含的库中的Vim自动完成,c,file,vim,autocomplete,C,File,Vim,Autocomplete,我用软呢帽。我在Vim中编写Ansi C程序,在^N下使用它的本机自动完成功能。在我在另一个文件中定义库之前,一切正常: 文件A.c #include <allegro5/allegro.h> #include "fileB.c" 如果我尝试在fileA.c中自动完成,它会在fileb和library中查找。 但在文件a中,它只在文件a.c中搜索。如何在fileB.c中查找库函数和常量?当您在fileA.c中时,将从该文件中的所有include和那些include中递归地提取补全(

我用软呢帽。我在Vim中编写Ansi C程序,在^N下使用它的本机自动完成功能。在我在另一个文件中定义库之前,一切正常:

文件A.c

#include <allegro5/allegro.h>
#include "fileB.c"
如果我尝试在fileA.c中自动完成,它会在fileb和library中查找。
但在文件a中,它只在文件a.c中搜索。如何在fileB.c中查找库函数和常量?

当您在
fileA.c
中时,将从该文件中的所有include和那些include中递归地提取补全(以及其他位置)

这是因为
'complete'
的默认值包含
i

当您在
fileB.c
中时,无法从任何包含中提取完成项,因为您似乎没有任何包含项,但它们仍然可以从当前缓冲区(
中的
)、其他缓冲区(
w
b
u
)甚至
标记(
t
)中提取


也就是说,如果你想使用C语言,在C语言中显式地包含一个资源是必要的,所以我不确定在没有适当的包含的情况下,在代码中使用任何资源是明智的。

当你在
fileA.C
中时,会从该文件中的所有包含中(以及其他地方)提取完成项,并将其包含在这些包含中,递归地

这是因为
'complete'
的默认值包含
i

当您在
fileB.c
中时,无法从任何包含中提取完成项,因为您似乎没有任何包含项,但它们仍然可以从当前缓冲区(
中的
)、其他缓冲区(
w
b
u
)甚至
标记(
t
)中提取

这就是说,如果您想使用C语言,那么在C语言中显式地包含一个资源是必要的,因此我不确定在没有适当包含的情况下在代码中期望任何资源可用是明智的

...