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となるようにすればいいのか(と思って何かを書き始めたが、うまく動かん、オッサンにはキツイ)