gtagsやめた、ctagsでソースを読むことにする

ちょっととあるプログラムのソースを読もうとして、GNU globalの対応言語に入っていなくて、色々とイライラしたので、globalを.emacsから消した。で、前から気になっていたexuberant ctagsに乗り換えました。以下、作業メモ
インストール

# mac osx finkでこうやってインストールしました
sudo fink install exuberant-ctags

emacs23 のキーバインドの設定
デフォルトのキーバインドでは、M-.で宣言へ移動、M-*で帰ってくるらしい、これは、、変えたい。
完全に自分の好み(xyzzyキーバインドを一致させたい)なんだが、f4で関数宣言へ入る、shift-f4で戻ってくる、動きにした。会社では、xyzzy, 家ではemacs23とか使ってると、もう、キーバインドを別々に覚えるとか器用な事はできないんです。

;;; ctagsの設定に以下を追加した
(global-set-key [f4] 'find-tag)
(global-set-key [(shift f4)] 'pop-tag-mark)

使い方

# 見たいソースがあるディレクトリへ移動
cd src
# TAGSファイルの生成
# これは、srcにある(サブディレクトリは探さない)ソースのタグを作る
# -e がemacsに読ませたいファイルの作成方法
ctags -e *
# 存在確認
ls -l TAGS

あとは、emacsで、関数見つけたらf4,shift-f4を押しまくる。



ふと思ったんだが、gtagsが作るファイル(GTAGS)と、ctagsが作るファイル(TAGS)は分かれているのだから捨てることはなかったな。
GTAGSがあれば、globalを使って、TAGSがあればctagsとなるようにすればいいのか(と思って何かを書き始めたが、うまく動かん、オッサンにはキツイ)