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ファイルができた

で、後は、emacsで使う。標準のキーバインドはこうらしい

キー うごき
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などのキーの設定を「ファンクションキー」にする方法
というわけで、ここまで。