vimでメソッドのすべての使用を見つける方法はありますか? Rails.vim で vim を Rails の IDE として使用しています。ctags は、使用法からメソッド定義にジャンプするのに役立ちますが、その逆ではありません。メソッドが使用されているあらゆる場所 (コントローラー、ビューなど) を見つけられるようにしたいと考えています。
2 に答える
cscope
Vim にはこれに対する完全な解決策はありませんが、 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 をお勧めします。
私はちょうどそれを行うための宝石を書きました: https://rubygems.org/gems/starscope
Ruby コードを適切に解析し、ctags および cscope ファイル形式にエクスポートします。