概要
クラスや関数、定数などの定義元にジャンプできるようにする
※exuberant-ctagsではなくuniversal-ctagsを使用しています。設定ファイルの場所が異なりますので注意。
ctagsのインストールはこちらから
exuberant-ctagsじゃなくて、universal-ctagsをインストールしたい
ctagsの設定ファイル
~/.ctags.d/<名前任意>.ctags
に設定を書けば、読み込んでくれる
(exuberant-ctags を使用している場合は~/.ctags
に設定)
~/.ctags.d/config.ctags
--php-kinds=cdfin
上記は、「PHPのタグファイルを作成する際、クラス・定数・関数・インタフェース・ネームスペースのタグを作ってね」という設定
念のためコマンドたたいて確認してみる
ctags --list-kinds=php
指定したもの以外は[off]になっているのが分かります。
出力
c classes
d constant definitions
f functions
i interfaces
l local variables [off]
n namespaces
t traits [off]
v variables [off]
a aliases [off]
タグファイル作成
プロジェクトのルートディレクトリで
ctags -R--languages=php
今回はPHPのファイルのみに対して作成するため --languages=php
のオプションを指定。tags
というファイルが作成される(ファイル名を指定したい場合は、-f
オプションで指定可能)
.vimrcに設定を記載
タグファイルのパス指定
tags
ではなく./tags
と指定すると、カレントディレクトリではなく開いているファイルのディレクトリからtagsファイルを探してくれる;$HOME
とすることで、ホームディレクトリまで遡ってtagsファイルを探してくれる
.vimrc
settags=./tags;$HOME
候補が複数ある場合は一覧表示
.vimrc
nnoremap <C-]>g<C-]>
inoremap <C-]><ESC>g<C-]>
レッツジャンプ
キー | 動作 |
---|---|
Ctrl + ] | 宣言元へジャンプ |
Ctrl + t (または Ctrl + o ) | 戻る |
便利です~~~~。