【发布时间】:2018-12-21 15:28:15
【问题描述】:
我开始在 Linux 下进行 C 开发。但是,我正在努力正确设置 ctags 以使用vim。它正确地注册了tags 文件并提供基于它的补全。
我不确定获得“必要”包括的正确方法是什么。目前我有一些“精心挑选”的标题:
AM_CTAGSFLAGS = \
--recurse=yes \
--tag-relative=yes \
--extras=* \
--fields=* \
--c-kinds=* \
--language-force=C \
/usr/include/bits \
/usr/include/fcntl.h \
/usr/include/stdio.h \
/usr/include/stdlib.h \
/usr/include/string.h \
/usr/include/sys \
/usr/include/unistd.h
在第一步中,我只是放置了与 #include ... 相同的标题,但错过了一些内容(例如 /usr/include/bits/...)。所以我添加了这些。
但我觉得这么多年过去了,总得有人想出更好的解决方案。那么,这通常是怎么做的呢?
【问题讨论】:
-
/usr/include/bits是一个 internal 和 compiler private 目录。您永远不需要从那里包含文件,或使用这些头文件中的符号。 -
O_RDONLY在那里定义...所以我不应该使用O_RDONLY而是直接写0(或1forO_WRONLY)? -
只要有“/usr/include”,让递归处理?
-
好吧,看来我错了。或者更确切地说,我认为 libc 在需要由外部工具引用的内部头文件中定义这些符号是错误的。也许只索引
/usr/include而不是列出特定文件和子目录会更容易? -
我猜...看来 vim 可以很好地处理生成的 34 MB 文件。
标签: c linux ctags exuberant-ctags universal-ctags