Vimでタグジャンプ・ctagsを使う

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

先日、Cygwin1.5にRuby1.7をソースからビルドし、Rubyソースコード完全解説を1日1時間ほどぼちぼち読み始めた。

スポンサーリンク

ctagsとxemacs-tagsの衝突

Exuberant Ctags—名無しのvim使いを参考に、Cygwinに入っていたctagsを使おうとしたところでつまずきました。
ctags -R で、-R(再帰)のオプションが効かない。

ctagsは、ソースコード中の関数を追いやすくするため、タグファイルを作成し、タグジャンプを可能にする。
タグジャンプとは、ソース中に出てきた関数の定義元へと一発で飛べる機能です。

どうやら、ctagsコマンドの使い方 Cygwin なんでも掲示板に書いてあるのと同じ現象で、xemacs-tagsとctagsが衝突して、微妙にオプションの違うxemacs-tagsが有効になってしまっていた模様。

Cygwinでxemacs-tagsのUninstall、ctagsのReinstall

ということで、Cygwinに入っているxemacs-tagsをUninstallして、ctagsをReinstallします。
Cygwinインストール手順・環境設定のまとめを参考にして、Cygwinのsetup.exeを起動する。
手順は全く同じに進め、「9.Select Packages」まで進みます。
ここで、上部のViewボタンをクリックし、「View :Full」として、該当するパッケージ名を探し出します。
ぐるぐる巻きの矢印アイコンをクリックして、以下を選択する。

ctags :Reinstall
xemacs-tags :Uninstall

そして、あとは次へと進んでいくと、Cygwinの更新がはじまり、5分程度で完了しました。
その後、Cygwin bashを立ち上げ、以下を確認。

$ ctags --version
Exuberant Ctags 5.7, Copyright (C) 1996-2007 Darren Hiebert
  Compiled: Sep 10 2007, 14:25:32
  Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
  Optional compiled features: +wildcards, +regex, +internal-sort

これが、最初はxemacs-tagsのバージョンが表示されていました。
現在は、純粋なctagsのバージョンが表示され、これでctags -R のオプションが効くようになるはず。

ctags -R でタグファイル作成、gVimでタグジャンプ

Exuberant Ctags—名無しのvim使いを参考にしました。

cd ~/src/ruby/
ctags -R

と、Rubyのソースコードが置いてあるディレクトリに移動後、ctags -R コマンドを実行すると、ruby/ 以下に”tags”という名のファイルが生成されました。
あとは、gVimでruby.c など読みたいRuby実装のC言語ソースを開いて、タグジャンプが実行できます。

Ctrl + ] => 関数の定義元へジャンプ
Ctrl + t => 元の場所に戻る

これでVimでも簡単にタグジャンプが使えるようになり、ずいぶんとソースを追いやすくなりました。
Netbeansだと標準でCtrl + bでタグジャンプできますけど、いちいちプロジェクトを作成するのが面倒くさかったりしますのでね。

スポンサーリンク
 
スポンサーリンク