为两个不同目录中的 .h 和 .c 文件生成标签时的 ctags 问题

StackOverflow https://stackoverflow.com/questions/1826352

  •  22-07-2019
  •  | 
  •  

现在我有两个目录,所有头文件 *.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 中,尝试输入:

  1. :pwd
  2. :set tags

验证标记文件的路径是否存在于 2 的输出中(相对于 1 的输出路径)。

笔记:您可以设置 tags 变量作为本地的一部分 .vimrc.

更新:常见的是设置 tags 像这样的模式 tags,../tags,../../tags. 。通过这种模式,vim 将使用它找到您的文件夹结构的第一个标签文件(同样相对于您的文件夹结构) pwd).

其他提示

转到/项目,并使用命令 “的ctags -R”。在你的.vimrc里,把命令“集标签= /项目/标签”。退出Vim并再次输入。标签现在应该工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top