有没有办法在vim中找到方法的所有用法?我使用vim作为Rails的IDE使用rails.vim。 ctags有助于从使用中跳转到方法定义,但不能转向AFAIK的其他方式。我希望能够找到使用方法的所有地方(控制器,视图等)。
答案 0 :(得分:7)
在Vim中没有任何完美的解决方案,但您可以通过cscope
和grep
或ack
来接近。
cscope
将帮助您查找对符号的所有引用。它是为类似C和C的语言而制作的,但它在Ruby代码中匹配符号也做得不错。它不会一直保持正确的上下文。
以下是vim cscope tutorial和blog post about Ruby/Vim/cscope以及another blog post,其中包括有关在Vim中导航Ruby / Rails代码的其他提示。
使用来自Vim的grep
或ack
与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文件格式。