为两个不同目录中的 .h 和 .c 文件生成标签时的 ctags 问题
题
现在我有两个目录,所有头文件 *.h 都包含在目录 /inc 中,而所有 c 文件 *.c 都存储在 /src 目录中。
目录就像这样,(/project 是上层目录):
/project-- |----/inc
|----/src
我想用 Ctrl+] 在源文件(如 example.c)中定位一个参数或一个函数的定义。如何生成这些标签?
我的方法是:
(1) cd to the /project directory
(2) ctags inc/*.h src/*.c
然后在那里生成一个标签文件,但是,当我打开示例文件并使用“Ctrl+]”时,它无法引导我找到其定义。为什么???
我需要在/src下生成标签文件吗???
有什么帮助吗?非常感谢!
解决方案
在 vim 中,尝试输入:
:pwd
:set tags
验证标记文件的路径是否存在于 2 的输出中(相对于 1 的输出路径)。
笔记:您可以设置 tags
变量作为本地的一部分 .vimrc
.
更新:常见的是设置 tags
像这样的模式 tags,../tags,../../tags
. 。通过这种模式,vim 将使用它找到您的文件夹结构的第一个标签文件(同样相对于您的文件夹结构) pwd
).
其他提示
转到/项目,并使用命令 “的ctags -R”。在你的.vimrc里,把命令“集标签= /项目/标签”。退出Vim并再次输入。标签现在应该工作。
不隶属于 StackOverflow