Emacsでタグジャンプできるようにする
インストールなど
- GLOBALというのが必要
- GLOBALの対応言語を増やすのにPygmentsというのが必要
- macなら以下で済む
$ brew install global --with-exuberant-ctags --with-pygments $ export GTAGSLABEL=pygments
任意の場所でgtag実行
/usr/local/var/www/htdocs $ gtags
確認
- 例えばcreateDatの定義箇所
/usr/local/var/www/htdocs $ global -ax -t createDat createDat /usr/local/var/www/htdocs/typing.js 43
- 例えばcreateDatを使っている箇所
/usr/local/var/www/htdocs $ global -ax -r createDat createDat 104 /usr/local/var/www/htdocs/typing.js createDat();
できてるようだ
Emacs側
- helm-gtagsパッケージ のインストール
- init.elに追記
;;Emacsからgtagsを使えるようにする ;; customize (custom-set-variables '(helm-gtags-path-style 'relative) '(helm-gtags-ignore-case t) '(helm-gtags-auto-update t)) ;; key bindings (eval-after-load "helm-gtags" '(progn (define-key helm-gtags-mode-map (kbd "M-t") 'helm-gtags-find-tag) (define-key helm-gtags-mode-map (kbd "M-r") 'helm-gtags-find-rtag) (define-key helm-gtags-mode-map (kbd "M-s") 'helm-gtags-find-symbol) (define-key helm-gtags-mode-map (kbd "C-c <") 'helm-gtags-previous-history) (define-key helm-gtags-mode-map (kbd "C-c >") 'helm-gtags-next-history) (define-key helm-gtags-mode-map (kbd "M-,") 'helm-gtags-pop-stack)))
使う時
- ファイルを開く
- M-x helm-gtags-modeする
- 関数などにカーソルを合わせる
- M-tやM-rで
Find Reference: (default "なんとかかんとか")
と聞かれるのでEnterするとジャンプする