ctagsでtagsというファイルを生成すると、vimでカーソル位置にあるクラスやメソッドの定義に簡単にジャンプすることができます。
自分で定義したものだけでなく、Gemfile.lockにある依存ライブラリにもジャンプでき、非常に便利です。
本記事ではvim-tags(ctags)を使ったことがないMacユーザー向けに使い方をまとめます。
ctagsを新しくする
Macに標準で入っている古いctagsを使ってるとvim-tagsがうまく動かないので新しいやつをいれます。
brew install ctags
vim-tagsの設定
最初にタグを手動で生成したあとは、ファイルを保存するたびに自動でtagsを生成してくれるプラグインです。
brewでいれたctagsを使うように、以下の設定を加えます。
NeoBundle 'szw/vim-tags' let g:vim_tags_project_tags_command = "/usr/local/bin/ctags -R {OPTIONS} {DIRECTORY} 2>/dev/null" let g:vim_tags_gems_tags_command = "/usr/local/bin/ctags -R {OPTIONS} `bundle show --paths` 2>/dev/null"
使い方
プロジェクトルートディレクトリを開き、最初だけ手動で:TagsGenerate
をしましょう。
あとは以下のコマンドで好きにジャンプしてください。
使うキーバインド
<C-]>
定義に飛ぶ<C-o>
飛ぶ前のバッファに戻る<C-i>
<C-o>の逆
注意点
Gemfile.lockがあると、Gemfile.lock.tagsが作られます。
これにより、依存ライブラリの定義にジャンプが可能になります。
普通はルートディレクトリにtagsが作られますが、.gitがある場所で:TagsGenerate
をすると、.git以下にtagsが作られます。