タグジャンプ
たくさんのファイルに分かれているアプリケーションなどのソースファイルを読んでいる際に関数の実態を探したり、またその場所に戻ったりなどで苦労されたことはありませんでしょうか。
viを使ってソースファイルを開いている場合に、カレントディレクトリにタグファイルなるものがあれば、タグジャンプという便利な機能が使えるようになります。このタグジャンプはソース・ファイルを読む際に非常に有益なものです。本日は、viでのタグジャンプについて基本的な使い方をご紹介したいと思います。
まず、ソースファイルをタグジャンプを使って読むためにはviの他にctagsパッケージが必要になりますので、別途入手してインストールして下さい。(MIRACLE LINUX V4.0のDeveloper CDにはctags-5.5.4-1が収録されています。)
その後の操作は非常に簡単です。例えば膨大なソースファイルから構成されているカーネルを読む際は下記のように行います。
1.カーネルのソースが展開されているトップディレクトリへ移動する。
# cd /usr/src/linux
2.そのトップディレクトリ上でタグファイルを生成する。
# ctags -R <-カレントディレクトリにtagsというファイルが生成される。
3.タグ・ファイルのあるディレクトリをカレントディレクトリとしてviで読みたいファイルを開く
# vi drivers/block/ll_rw_blk.c
4.ソースファイル内のキーワード(関数など)の上で【CTRL】-【]】を押すとキーワード(関数など)の実態へジャンプし、ジャンプ先からは【CTRL】-【t】で戻ってくることができます。
少しの手間でソースを読み進めるスピードが格段にあがりますので、まだ試されたことのない方はぜひ試して見て下さい。



Linuxカーネルソースに限れば、
make tags
でctagsのタグファイル(vi用)を、
make TAGS
でetagsのタグファイル(emacs用)を作ることができます。ビルドするアーキテクチャのものだけ選別されます。
投稿: さいとう | 2006年6月 2日 (金) 12:25