8

vimでメソッドのすべての使用を見つける方法はありますか? Rails.vim で vim を Rails の IDE として使用しています。ctags は、使用法からメソッド定義にジャンプするのに役立ちますが、その逆ではありません。メソッドが使用されているあらゆる場所 (コントローラー、ビューなど) を見つけられるようにしたいと考えています。

4

2 に答える 2

9

cscopeVim にはこれに対する完全な解決策はありませんが、 andgrepまたはに近づくことができますack

cscopeシンボルへのすべての参照を見つけるのに役立ちます。これは C および C に似た言語用に作成されていますが、Ruby コード内のシンボルのマッチングも適切に処理します。コンテキストを常に正しく取得できるわけではありません。

Vim cscope チュートリアルRuby/Vim/cscope に関するブログ投稿、および別のブログ投稿があります。どちらにも、Vim で Ruby/Rails コードをナビゲートするための追加のヒントが含まれています。

シンボルを見つけるもう 1 つの優れた方法は、Quickfix 統合で Vim を使用grepすることです。ack彼らはスコープ/コンテキストの概念を持っていませんが、多くの場合、単純な検索で十分です. 組み込み:grepコマンドだけを使用して、次のことができます。

:grep some_method app/controllers
:cwindow

また、クイックフィックス ウィンドウで検索結果を取得すると、一致するファイルと行番号にすばやく移動できます。

より良いオプションはack.vimプラグインです。これはackを Vim と統合し、クイックフィックス ウィンドウを利用します。

CTAGS をナビゲートするためのプラグインをまだ使用していない場合は、Tagbar をお勧めします

于 2013-03-17T04:34:04.893 に答える
7

私はちょうどそれを行うための宝石を書きました: https://rubygems.org/gems/starscope

Ruby コードを適切に解析し、ctags および cscope ファイル形式にエクスポートします。

于 2014-01-10T00:20:54.900 に答える