Rubyが好きなプログラマーの日記。日々の生活、開発に関するメモとか考えとか。
今日、このプラグイン見つけて、コードリーディングがかなり捗るようになった。
ctagsというのが昔からあって、気づけば*1Rubyもサポートされていた。 それを利用して、ソースコード内を自由に飛び回れるようにしてくれるのが、vim-tags。
普通であれば、ソースに変更があればctags
コマンドでソースを解析する必要があるのだけれど、このvimプラグインはそれを勝手にやってくれる。
Railsに限らず、gemや他のRubyプロジェクトでもデファクトスタンダードとして使われているbundler に対応している。
Gemfile内で定義されているgemのソースも勝手にctags
で解析してくれる。
あれ?ここのActiveRecordのコードってどうなってるんだろう?
と思ったらすぐにそこに飛べるので、コードリーディングにとても役立つ。
Macであれば、
$ brew install ctags
でインストールできる。
しかし、これだけだとOS Xがデフォルトで持っているctagsと被ってしまうので注意。
あとで、vim-tagsが使うctagsコマンドを指定できるので、.vimrc
で設定する。
自分の場合、Vundlrを使っているので、.vimrc
に
Plugin 'szw/vim-tags'
を追加して、:PluginInstall
でインストール。
最低限やらないといけないのは、vim-tags にbrewでインストールしたctags
を使うように指定すること。.vimrc
内で、
let g:vim_tags_ctags_binary='/usr/local/bin/ctags'
例えばRailsなら、Rails rootでvimを開いて、:TagGenerate
を実行すると、それ以降はファイルを保存するたびに解析しなおしてくれる。
コードジャンプはCtrl + ]
、戻るのはいつもどおりでCtrl + o
、飛んだ先に再度飛ぶにはCtrl + i
。
これだけでかなりスイスイ行ける。
*1 昔はglobalが流行ると思ってたので、ctagsは全然調べてなかった。