複数のtagsファイルをvimで読み込む
他に良いやり方があるような気もするが、とりあえずメモ。
複数のプロジェクトにまたがってtagジャンプしたい時がある。例えば外部のライブラリの挙動を詳しく確認したいときなど。 ここでは便宜上、myprojectとsome_libという2つのプロジェクトが同じディレクトリの配下にあるという前提にする。
まずそれぞれのプロジェクトでtagsファイルを作成する。
$ (cd myproject; ctags -R) $ (cd some_lib; ctags -R)
両方のプロジェクトに新しくtags
ファイルが生成される。
$ tree . ├── myproject │ ├── tags │ ├── src/ │ │ └── main.c ├── some_lib │ ├── tags ....
次にmyproject
へ移動してvimでソースコードを開く。このとき既にmyproject/tags
は読み込まれているが、some_lib/tags
は読み込まれていない。よってsome_lib
にある関数などにジャンプすることはできない。
そこで以下のようにvimの:set tags
を使ってこのtags
ファイルを追加する。
:set tags+=../some_lib/tags
すると両方のプロジェクトに渡ってtagジャンプすることができるようになる。
以上