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

时间:2009-12-01 13:58:10

标签: vim 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 ???

下生成一个标签文件

有任何帮助吗?非常感谢!

2 个答案:

答案 0 :(得分:2)

转到/ project,然后使用命令“ctags -R”。在.vimrc中,输入命令“set tags = / project / tags”。退出vim并再次输入。标签现在应该有效。

答案 1 :(得分:2)

在vim中,尝试输入:

  1. :pwd
  2. :set tags
  3. 验证tagfile的路径是否出现在输出2中,相对于输出为1的路径。

    注意:您可以将tags变量设置为本地.vimrc的一部分。

    更新:通常将tags设置为tags,../tags,../../tags之类的模式。使用此模式,vim将使用它找到您的文件夹结构的第一个标记文件(再次相对于您的pwd)。