python触ってて、ctagsでタグジャンプできるようにするまでにやったこと
mac(mountain lion)のデフォルトのctagsは、GNUのctagsでpythonで困ったので、Exuberant ctagsを使うことにした。
(homebrewは入れてある前提で)
ctagsを探す
$ brew search tag ctags exiftags libid3tag taglib easy-tag flactag montage txt2tags Error: GitHub Server Error You may want to create an API token: https://github.com/settings/applications and then set HOMEBREW_GITHUB_API_TOKEN.
ぅぉ。どういうことだ。google先生に聞くと、GitHubにアクセスできない時に出る場合があるらしい。しばらく待ってもう一度実行すると、普通に見つかったので、インストールする
$ brew search ctags ctags $ brew install ctags Warning: Your Xcode (4.6.3) is outdated Please update to Xcode 5.0.1. Xcode can be updated from the App Store. ==> Downloading http://downloads.sourceforge.net/ctags/ctags-5.8.tar.gz ######################################################################## 100.0% ==> Patching patching file read.c (略) ==> Summary /usr/local/Cellar/ctags/5.8: 8 files, 384K, built in 6 seconds
無事、インストールできた模様。
試しに実行してみる
$ ctags --list-languages ctags: illegal option -- - usage: ctags [-BFadtuwvx] [-f tagsfile] file ... $ which ctags /usr/bin/ctags
あれ、前のctagsが残ってる。とはいえ、これはPATHの問題なので.bashrcに1行追加してよしとした
echo "alias ctags=/usr/local/Cellar/ctags/5.8/bin/ctags" >> ~/.bashrc
気を取り直してpythonが使えるか確認(. ~/.bashrcなどで読み込んで)
$ ctags --list-languages | grep -i python Python
これで、Exuberant ctags使える。
$ ls aa.py bb.py $ ctags -Re . $ ls aa.py bb.py TAGS ← TAGSファイルができた
キー | うごき |
---|---|
M-. | 定義位置にジャンプ(最初に見つかった場所) |
M-* | ジャンプ後、元の位置に戻る |
C-u M-. | ジャンプ先を選んでジャンプ |
C-u 4 . | 別ウィンドウを開いて、タグ・ジャンプ |
他にも多数ある。
このキーバインドがあまり好きではないので、xyzzyのと同じf4で行って、Shift-F4で戻るようにした。
で、~/.emacs.d/init.elに以下を追加
;; ctagsでタグジャンプ設定 (global-set-key (kbd "<f4>") 'find-tag) (global-set-key (kbd "S-<f4>") 'pop-tag-mark)
ついでに、自分が使っているmountain lionの場合、デフォルトの設定ではファンクションキーを押すために、fn+f4 とか、fnキーを一緒に押す必要がある。
ここをみて、ファンクションキーとして使えるように設定を変えた。
MacのF1、F2などのキーの設定を「ファンクションキー」にする方法
というわけで、ここまで。