ソースコード解析補助ツール.
ぶっちゃけGNU Global使ったほうが良い気がする.
が,POSIXコマンドでviでも(Emacsも?)デフォルトでサポートしてることを考えると知っといて損はない気もする.
そんなわけで試してみる.
インストール
ubuntuだと入ってたけどね.
sudo apt-get install ctags
使う
前回に引き続きgitのファーストバージョンに実験台になってもらう.
どうでもいいんだけど,リーナスのコミットメッセージ中2臭くない?
プロジェクトディレクトリ直下に移動してctagsコマンドを実行する.
twinbird@:~/lab/git-e83c5163316f89bfbde7d9ab23ca2e25604af290$ ctags *
するとtagsファイルが生成される.
twinbird@:~/lab/git-e83c5163316f89bfbde7d9ab23ca2e25604af290$ ls Makefile cache.h commit-tree.c read-cache.c show-diff.c update-cache.c README cat-file.c init-db.c read-tree.c **tags** write-tree.c
ちなみにPOSIX準拠じゃなさそうだけど,-Rオプションをつけると再帰的に全てのディレクトリ下を対象にできるらしい.
vimから使う
vimなのは個人の趣味です.
操作 | 内容 |
---|---|
C-] | カーソル位置の単語をタグとみなしてジャンプ |
C-t | 直前のタグに戻る |
g C-] | 複数候補がある場合に選択→ジャンプ |
C-w } | カーソル位置の単語の定義を、プレビューウィンドウで開く |
C-w C-z | プレビューウィンドウを閉じる(:pcと同じ) |
結構いい. Globalと違ってデフォルトでサポートってのはやっぱ魅力(割とデフォルト主義なので)