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でタグジャンプできますけど、いちいちプロジェクトを作成するのが面倒くさかったりしますのでね。
- - 関連記事 -
- NetBeansのPHPマニュアルのリンクを日本語ページへ
- WindowsマシンNetBeansにVimプラグインjViを入れる
- NetBeansフォントのアンチエイリアスを有効にする
- NetBeans6.5の文字化けを直し、読みやすいConsolasフォントを導入
- NetBeansの「Ctrl + B」でメソッドの定義元にジャンプする