【问题标题】:Vim autocompletion from library included in another fileVim 从另一个文件中包含的库中自动完成
【发布时间】:2017-03-12 20:08:25
【问题描述】:
我使用 Fedora 24。我在 Vim 中编写 Ansi C 程序,使用它在 ^N 下的本机自动完成功能。一切正常,直到我在另一个文件中定义库,如下所示:
文件A.c
#include <allegro5/allegro.h>
#include "fileB.c"
文件B.c
...
如果我尝试在 fileA.c 中自动完成,它会在文件 b 和库中查找。
但在文件 a 中,它只在 fileA.c 中搜索。如何在 fileB.c 中查找库的函数和常量?
【问题讨论】:
标签:
c
file
vim
autocomplete
【解决方案1】:
当您在 fileA.c 中时,会从该文件中的所有包含中提取完成(以及其他位置),并递归地包含在这些包含中。
这是因为'complete' 的默认值包含i。
当您在fileB.c 中时,无法从任何包含中提取完成,因为您似乎没有,但仍然可以从当前缓冲区中提取完成(complete 中的.),其他缓冲区(w、b、u),甚至是tags 文件(t)。
也就是说,如果您想使用 C 中明确包含资源是必要的,所以我不确定在没有适当包含的情况下期望 any 资源在您的代码中可用是明智的。