@Konboi memo

主に技術に関してつらつらと。

Emacsでtagを使う

はじめに

rebuild.fm聞いてたら自分の設定見直すか!! ってなったので、 コード追うの楽にしいし、重い腰を上げてtagを使って見ることにしました。

tag ファイルを作る

ctags -e -R .

-e オプションでemacsに対応したTAGファイルを作成する。

-e オプションがないとvi形式のtagファイルが出力されemacsでは解釈できないので注意。

etags コマンドでも作れますが、ディレクトリを再帰的にたどる方法が分からなかったので ctagsを使いました。

使い方

メソッドなどにカーソルを合わせて M-. で該当のメソッドにジャンプ。 初回時はTAGファイルを聞かれるので、設定したTAGファイルを指定してあげればOK。 他の該当する部分へのジャンプは続けて ‘C-u M-.’ でジャンプできる 元ファイルに戻るには M-* 元ファイルに戻れる。 複数回ジャンプした場合でも ‘M-*’ を数回打つことで戻れる

img

デフォルトキーの設定

M-. はいいんですが、 ‘M-*’ や ‘C-u M-,` は打つのにストレスを感じたので別キーに割り当てました

;; tags
(global-set-key (kbd "M-]") 'find-tag)
(global-set-key (kbd "M-[") 'pop-tag-mark)
(global-set-key (kbd "M-}") (read-kbd-macro "C-u M-."))

キーはわかったんですが、関数名が分からずどうしようかなと思っていたら、助言を頂きました。

ありがとうございますm( )m

まとめ

  • 今のところ便利に使えてる
  • helm-etags も使ってみたい。

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)