我正在使用ripper标签(https://github.com/tmm1/ripper-tags)为ruby项目生成ctags文件。
我的目标是,在vim中,能够从以下行开始跳转:
::Api::Contracts::Creator.new(
到定义该模块的相关文件。
如果只有一个名为Creator
的模块,则此配置可以正常工作。但实际上在不同的命名空间中会有很多Creator
个,例如也会有::Api::Users::Creator
。
上述配置只会跳转到Creator
的第一个定义,而不是相关的特定Creator
。
是否有配置ctags以便跳转到特定定义?
答案 0 :(得分:0)
ripper-tags
--extra=1
这样就会生成包含完整模块路径的标签。这仍然存在ctrl +]使用当前单词的问题,因此在Module::Class
上使用它只会搜索Class
。
但这不是一个真正的ctags问题所以我将打开一个单独的问题,讨论如何最好地在vim中编写自定义命令来执行此操作。
使用视觉选择选择完整定义,然后按ctrl +]将转到正确的定义。