有没有办法在 vim 中找到方法的所有用途?我使用 vim 作为带有 rails.vim 的 Rails 的 IDE。ctags 有助于从用法跳转到方法定义,但不能反过来 AFAIK。我希望能够在任何地方(控制器、视图等)找到使用过的方法。
问问题
6126 次
2 回答
9
在 Vim 中没有任何完美的解决方案,但你可以使用cscope
and grep
or来接近ack
。
cscope
将帮助您找到对符号的所有引用。它是为 C 和类 C 语言而设计的,但它在匹配 Ruby 代码中的符号方面也做得不错。它不会一直正确地获取上下文。
这是一个vim cscope 教程和一篇关于 Ruby/Vim/cscope的博客文章,以及另一篇博客文章,这两篇文章都包含有关在 Vim 中导航 Ruby/Rails 代码的其他提示。
使用grep
或ack
从 Vim 与 quickfix 集成是另一种查找符号的好方法。他们没有范围/上下文的概念,但通常一个简单的搜索就足够了。仅使用内置:grep
命令,您可以执行以下操作:
:grep some_method app/controllers
:cwindow
并在 quickfix 窗口中获取搜索结果,这将允许您快速导航到匹配的文件和行号。
一个更好的选择是ack.vim插件,它将ack与 Vim 集成并利用了 quickfix 窗口。
如果您还没有使用插件来导航 CTAGS,我推荐Tagbar。
于 2013-03-17T04:34:04.893 回答
7
我写了一个宝石来做到这一点:https ://rubygems.org/gems/starscope
它正确解析 ruby 代码并导出为 ctags 和 cscope 文件格式。
于 2014-01-10T00:20:54.900 回答