vim标签 - 符号链接

时间:2012-06-28 16:18:12

标签: vim ctags

我的项目如下:

/dir 
   dir1
   dir2 -> symbolic-link to /otherdir
       file1
   tags *
  • 我希望vim使用 THIS 标签文件,其中包含dir1和dir2中文件的标签。 当我编辑file1时,VIM无法找到正确的标签文件。

我在.vimrc中有以下设置:

set tags=tags;/

有没有办法保留这个文件结构而不明确地告诉VIM 标签的绝对路径

3 个答案:

答案 0 :(得分:2)

你可以将相同的ctags附加到其他标签上,例如,如果你想在dir1中找到所有内容,你就可以执行:

ctags -R *

如果你想从dir二中添加一些其他标签:

ctags -R -a ~/path/to/dir2/*

-a用于追加。

现在无论我在哪里打开我的vim,我总是拥有自己的ctags,就是在.vimrc中添加这一行:

set tags+=./tags;$HOME

这将在当前目录中查找标签,并且会递归到您的主文件夹,如果您希望它搜索到根文件夹或更少,只需更改$HOME /或{ {1}}

答案 1 :(得分:1)

在我的~/.vimrc中使用此行并使用与您类似的布局,tags相关功能(:ts<C-]>等)使用相同的{{1} }文件位于tags的根目录,旁边是dirdir1

dir2

set tags=./tags,tags;$HOME 文件首先在当前文件的目录中搜索,然后在tags中搜索,然后向上搜索,直到达到cwd

编辑$HOME:echo tagfiles()说了什么?这里写着file1

修改

抛出符号链接似乎没有任何改变。

EndEdit中

答案 2 :(得分:0)

我认为这只是一个存在于正确目录中的问题。当您开始使用此项目时,请使用:cd /dir进入包含标记文件的目录,并确保已关闭autochdir选项。然后当您在dir2中编辑文件时,工作目录仍然是dir,它仍然会找到相同的标签文件。

另一方面,如果你最终将dir / dir2作为你的工作目录,这实际上意味着你在/ otherdir,所以当Vim从那里查找标签文件时,它找不到它在该目录中或在/。我怀疑现在正在发生什么事。

您可以使用:pwd命令随时查看您所在的目录,就像在shell中一样。