vimを使っている人はみんなctagsで幸せになれる権利を持っている
こんにちは!飲み過ぎてよくお腹を壊す人です。
結構長い間vimを使って開発をしているのですが、じょうよわなのでこの間初めて知りました。
開発中にどこから呼ばれてるのか分からないクラスやモジュールとかをgit grep
してたんですけど、
ctagsが超便利すぎて泣いて喜んだのでメモです。
まずインストールです。macの場合はctagsというコマンド自体は最初から入っていますが、
バージョンが古いのか、なんだか仕様が若干違うのでhomebrewでinstallし直すと良いと思います。
$ brew install ctags
設定ファイルは.ctagsに書きます。
ctagsのインストールが完了したら、"tags"というindexファイルを作成します。
ソースのあるディレクトリで以下のようなコマンドを入力します。
$ ctags -R
tagsというファイルが存在していたら成功です。
また、jsファイルはデフォルトだと
ctags: Warning: ignoring null tag in XXXX.js
っていうエラーが出るので、
gist.github.com
こちらのリンク内の内容を.ctagsに追加すると、jsファイルもtagsに含めてくれると思います。
あとはvimで開いているソースコードの中で、
調べたいワードにカーソルが乗っている状態でCtrl + ]
をすると、
対象のファイルが出てきます。(カーソルも名前の一番先頭にあります。)
また、デフォルトの設定だと、今までの開いていたファイルの上に出てきちゃうので(:b#
で戻れますが)これがなかなか厄介です。
なので以下の設定を入れると、新しいタブでファイルが出てきます。
map <C-]> :tab split<CR>:exec("tag ".expand("<cword>"))<CR>
gist.github.com
こちらを参考にさせて頂きました。
これでより幸せな開発環境を手に入れることが出来ました。幸せです。
ドキュメントはこちらです。
CTAGS