読者です 読者をやめる 読者になる 読者になる

プログラミングの魔物

エラー、バグ、仕様変更と戦うブログ

vimでLuaのソースからC関数のソースへジャンプ

Luaで組んでいるとcocos2d-xの関数のソースを見たくなることがよくある。
今まではxcodeを同時起動して探していたけれど、ctagsで探せるようになったのでやり方をメモ。
若干重いのでまだ試用段階。

MacPortsでExuberant Ctagsを入れる

Exuberant Ctagsのインストール

$ sudo port install ctags
#ターミナルのウィンドウを開きなおしたり、ターミナルを再起動とか

使う

$ cd /path/to/cakephp
$ ls
README app index.php lib plugins vendors
$ ctags -R
$ ls
README index.php plugins vendors
app lib tags
$ vim lib/Cake/Console/Shell.php
#タグジャンプが出来る

タグファイルを何処から読み込むか設定する

"_vimrc
if has('path_extra')
set tags+=tags;/Users/myuser
endif

Exuberant Ctagsでタグファイル作ってVimでタグジャンプしたら便利だった - kanonjiの日記

vimの設定は実は

set tags:=tags;/Users/myuser

かも知れない。tags+=だとデフォルトの設定に追加するからルートまで辿りそう? よくわかんねぇ。

vimに以下のプラグインを入れる

http://www.vim.org/scripts/script.php?script_id=2179

http://www.vim.org/scripts/script.php?script_id=2347

  • NERD_tree.vim(trinity.vimにも同梱されています)

http://www.vim.org/scripts/script.php?script_id=1658

http://www.vim.org/scripts/script.php?script_id=273


Vimでソースコードを素早く追いかける - Guyon Diary

NERD_tree.vimは導入していない。


あとはプロジェクトのディレクトリでctags実行して、

$ ctags -R "--langmap=c:.c.cpp.lua"

luaファイル開いてTrinityプラグインを実行すれば

:TrinityToggleAll

luaからC関数へ飛べるようになる。


ctagsの日本語説明。オプションを書く時の参考にした。
http://hp.vector.co.jp/authors/VA025040/ctags/help_j.html
http://hp.vector.co.jp/authors/VA025040/ctags/ctags_j.html