Ruby on rails CTAG生成最新版本的gems

Ruby on rails CTAG生成最新版本的gems,ruby-on-rails,vim,ctags,Ruby On Rails,Vim,Ctags,我使用和ctags进行方法导航。为此,我在/home/***/.rvm/gems/ruby***/gems中运行ctags-R*。但在这个目录中,有许多文件夹用于不同版本的gems(例如activerecordv.3.0.7/3.1.3/3.2.2/3.2.3)。当我尝试使用(ctrl+])方法时,我会使用旧版本。如何仅使用最新的gems版本运行ctags?解决方法:我不确定是否有直接的方法,但您始终可以选择手动编辑“标记”文件,搜索/替换所有较旧的gems版本并将其删除,或者删除所有与gems

我使用和
ctags
进行方法导航。为此,我在
/home/***/.rvm/gems/ruby***/gems
中运行
ctags-R*
。但在这个目录中,有许多文件夹用于不同版本的gems(例如
activerecord
v.
3.0.7/3.1.3/3.2.2/3.2.3
)。当我尝试使用(
ctrl+]
)方法时,我会使用旧版本。如何仅使用最新的gems版本运行ctags?

解决方法:我不确定是否有直接的方法,但您始终可以选择手动编辑“标记”文件,搜索/替换所有较旧的gems版本并将其删除,或者删除所有与gems相关的部分,稍后您可以使用[ctags-a 3.2.3]将其附加到标记文件中

您可以让bundler在GEM文件中显示宝石的位置

bundle show --paths
如果你把这份清单输入CTAG,我想你会得到你所需要的

bundle show --paths | xargs ctags -R
编辑: 本文总结如下:

如果要为项目添加标记以及gemfile标记,可以使用
-a
选项进行附加,以便只需执行以下操作:

ctags -R -f .tags && bundle show --paths | xargs ctags -R -a -f .tags

是的,我知道。但是
标签
文件有63000多行,手工编辑不是个好主意。删除所有的gems,除了最新版本之外,这也不是个好主意,因为我可能需要更老的gems版本。我的第一个问题不正确。如何使用
Gemfile
中使用的gems版本?Andreas,谢谢您提供的信息。几个月前,我在你的博客上发布了这个问题,但一直没有回避:我发现了一个问题,只有当我从项目中的文件中创建时,我才能转到标记。一旦我在一个包含在我正在使用的gem中的文件中,我就不能按照该文件中调用的任何方法来定义它的方法。我相信这是因为它不知道如何找到相对于我当前浏览的文件的ctags文件。你有我看到的任何问题吗?托尼,看起来我真的需要检查一下,然后发布更新(就像我几个月前说的那样):)这太棒了。但它只为宝石生成CTAG。我如何让它同时为gems和当前项目生成呢?@Sathish我在下面给出了答案