在vim中查找方法的所有用法

时间:2013-03-17 02:46:41

标签: ruby-on-rails vim

有没有办法在vim中找到方法的所有用法?我使用vim作为Rails的IDE使用rails.vim。 ctags有助于从使用中跳转到方法定义,但不能转向AFAIK的其他方式。我希望能够找到使用方法的所有地方(控制器,视图等)。

2 个答案:

答案 0 :(得分:7)

在Vim中没有任何完美的解决方案,但您可以通过cscopegrepack来接近。

cscope将帮助您查找对符号的所有引用。它是为类似C和C的语言而制作的,但它在Ruby代码中匹配符号也做得不错。它不会一直保持正确的上下文。

以下是vim cscope tutorialblog post about Ruby/Vim/cscope以及another blog post,其中包括有关在Vim中导航Ruby / Rails代码的其他提示。

使用来自Vim的grepack与quickfix集成是另一种查找符号的好方法。他们没有范围/背景的概念,但通常只需简单的搜索即可。只使用内置的:grep命令,您可以执行以下操作:

:grep some_method app/controllers
:cwindow

在quickfix窗口中获取搜索结果,这样您就可以快速导航到匹配的文件和行号。

更好的选择是ack.vim插件,它将ack与Vim集成并使用quickfix窗口。

如果您尚未使用插件浏览CTAGS,我建议Tagbar

答案 1 :(得分:5)

我写了一个宝石就是这样做的:https://rubygems.org/gems/starscope

它正确解析ruby代码并导出为ctags和cscope文件格式。