vim中的ctags和ruby模块

时间:2017-04-27 19:10:44

标签: ruby vim ctags

我正在使用ripper标签(https://github.com/tmm1/ripper-tags)为ruby项目生成ctags文件。

我的目标是,在vim中,能够从以下行开始跳转:

::Api::Contracts::Creator.new(

到定义该模块的相关文件。

如果只有一个名为Creator的模块,则此配置可以正常工作。但实际上在不同的命名空间中会有很多Creator个,例如也会有::Api::Users::Creator

上述配置只会跳转到Creator的第一个定义,而不是相关的特定Creator

是否有配置ctags以便跳转到特定定义?

1 个答案:

答案 0 :(得分:0)

需要使用

选项运行

ripper-tags

--extra=1

这样就会生成包含完整模块路径的标签。这仍然存在ctrl +]使用当前单词的问题,因此在Module::Class上使用它只会搜索Class

但这不是一个真正的ctags问题所以我将打开一个单独的问题,讨论如何最好地在vim中编写自定义命令来执行此操作。

使用视觉选择选择完整定义,然后按ctrl +]将转到正确的定义。