2011年12月27日火曜日

[vim] vimを起動したカレントディレクトリを見て、参照するtagファイルを変える方法。

そろそろ、タグジャンプが使いたくなってきたので、ctagsをインストール・設定した。


ctagsインストール

$ sudo yum install ctags

適当にインストール。

ctagsのタグ作成手順・シェル


$ ctags -f ./tags -R ./lib/model/
$ ctags -a -f ./tags -R ./lib/util/ 
-f : tagファイルの名前を指定
-R : 再帰的にディレクトリを参照
-a : 既存tagファイルがあれば末尾から追記。

普段、参照先のモデルやライブラリを大きく変更する事はないので、
bazarlレポジトリのアップデートと一緒にtagファイルを作成するように
シェルに組み込んだ。

ctagsの設定ファイルもあるらしいが、
シェルに書いとけば良いやと思って調べてない。


tags読み込み

下記を、vimrcに書き込んだ。
let current_dir = expand("%:p:h")
" 開くディレクトリによって、読み込むtagsを切り替える
if matchstr(current_dir , "tsubasa_source/tsubasa/") == "tsubasa_source/tsubasa/"
    set tags=/home/karino/tsubasa_source/tsubasa/tags
endif
if matchstr(current_dir , "tsubasa_source/tsubasa_invite_incentive") == "tsubasa_source/tsubasa_invite_incentive"
    set tags=/home/karino/tsubasa_source/tsubasa_invite_incentive/tags
endif

vimを起動したディレクトリを取得し、
特定のディレクトリ名がマッチしたら、
tagsファイルを読み込む。
「tsubasa_source/tsubasa」を含むなら、tsubasa/tags。
「tsubasa_source/tsubasa_invite_incentive」を含むなら、tsubasa_invite_incentive/tags。
見たいな感じ。

これだけなのに調べるの結構大変だった。

0 件のコメント:

コメントを投稿