« 作曲とプログラミング | メイン | インデントをなるべく浅くするテクニック »

vi + ctags : 関数等の定義位置にジャンプ
このエントリーをブックマークに追加 このエントリーをlivedoorクリップに追加

こんにちは,ttsuruoka です.


vi で PHP のコードを見ているときに,

myhogefunc($foo, CONST_BAR);

のような処理があって,myhogefunc() や定数 CONST_BAR がどんな定義になっているか知りたいときには,ctags が使えます.

vi と ctags を連携させると,myhogefunc() の上や CONST_BAR の上にカーソルを置いて CTRL + ] を押すだけで,それが定義されている場所までジャンプすることができます.

* ctags のダウンロードとインストール
- http://pcmania.jp/~moraz/tools/ctags.html

ctags をインストールしたら,
タグファイル(tags)を作成します.
タグファイルは,関数等の定義位置が記録されるファイルです.

カレントディレクトリ以下の PHP (*.php) のクラス,関数,定数から,タグファイルを作成:

 $ ctags -R --langmap=PHP:.php --php-types=c+f+d ./

あとは,普通に PHP のファイルを開き,調べたい対象の上にカーソルを置いて, CTRL + ] で OK です.


また,タグファイルを元にした入力補完も使えます(INSERT モードで CTRL + x, CTRL + ])が,
前後の変換候補が見にくい(見えない)のであまり使い勝手はよくありません.

それから変数の定義位置もタグファイルに含めることができるようなのですが,
これは vi の単語検索(検索対象上でアスタリスク)で十分対応できるため上では使っていません.


(環境:VIM6.3)

トラックバック

このエントリーのトラックバックURL:
http://www.unoh.net/mt32/mt-tb.cgi/271

この一覧は、次のエントリーを参照しています: vi + ctags : 関数等の定義位置にジャンプ:

» [Vim] Vimでカーソル下のPerlモジュールを開く from spiritlooseのはてなダイアリー
ウノウラボ Unoh Labs: vi + ctags : 関数等の定義位置にジャンプ Vimとctags の連携が紹介されていたので、ついでにこちらも... [詳しくはこちら]

コメントを投稿


画像の中に見える文字を入力してください。