首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vim标签.符号链接

vim标签.符号链接
EN

Stack Overflow用户
提问于 2012-06-28 16:18:12
回答 3查看 1.7K关注 0票数 4

我有一个项目如下:

代码语言:javascript
复制
/dir 
   dir1
   dir2 -> symbolic-link to /otherdir
       file1
   tags *
  • 我希望vim使用这个标记文件,其中包括dir1和dir2中的文件标记。当我编辑file1时,VIM找不到正确的标记文件。

我在.vimrc中有以下设置:

代码语言:javascript
复制
set tags=tags;/

有没有办法保持这个文件结构而不显式地告诉VIM标记的绝对路径?

EN

回答 3

Stack Overflow用户

发布于 2012-06-28 18:41:59

您可以附加到相同的ctag (其他标记)中,因此,例如,如果您想要在dir1中执行ctag所有内容,您将执行:

代码语言:javascript
复制
ctags -R *

如果您想添加dir 2中的其他标记:

代码语言:javascript
复制
ctags -R -a ~/path/to/dir2/*

-a是用来附加的。

现在,无论我在哪里打开vim,我都要做的就是在我的.vimrc中添加一行

代码语言:javascript
复制
set tags+=./tags;$HOME

这将查找当前目录中的标记,并递归地下到您的主文件夹,如果您希望它搜索到根文件夹,或者更少,只需将$HOME更改为//path/to/root/project/

票数 3
EN

Stack Overflow用户

发布于 2012-06-28 19:26:05

使用我的~/.vimrc中的这一行和与您类似的布局、与tags相关的特性(:ts<C-]>等)使用位于dir根目录的相同的dir文件,以及dir1dir2

代码语言:javascript
复制
set tags=./tags,tags;$HOME

首先在当前文件的目录中搜索tags文件,然后在cwd中搜索,然后向上搜索,直到到达$HOME为止。

当您编辑:echo tagfiles()时,file1会怎么说?这里写着['/home/romainl/Desktop/dir0/tags']

编辑

扔一个符号链接似乎什么都改变不了。

ENDEDIT

票数 1
EN

Stack Overflow用户

发布于 2012-06-28 17:34:21

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

如果在另一端以dir/dir 2作为您的工作目录,这实际上意味着您在/otherdir中,所以当Vim从那里查找标记文件时,它在该目录或/中找不到它。我怀疑这就是你现在发生的事。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11248817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档