vim でctagsを利用する & tagList 導入方法

Eclipse のアウトライン機能のように関数一覧が見たかったので、
プラグイン Taglist.vim を導入しました。


これは Eclipse のように関数や変数の一覧を見れるものです。
参考URL
http://uprush.net/2009/05/vim%E3%81%A7%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA-tag%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8taglist%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%EF%BC%88%E3%81%9D%E3%81%AE-2/
http://onlineconsultant.jp/pukiwiki/?Taglist.vim%E3%82%92%E5%B0%8E%E5%85%A5%E3%81%99%E3%82%8B


■導入方法(格闘あり)====================================
とりあえず、ここから最新版をダウンロードhttp://www.vim.org/scripts/script.php?script_id=273
解凍して各ディレクトリに置く(plugin, docs)

http://blog.veryposi.info /programing/php/php-ctags-vim/
を見てやってみる。
まず、ctag は php のソースはデフォルトではタグファイル作らないのでタグをつくる
(デフォルトでは C、PascalFORTRAN等)

[root@host1 ~]# ctags -a -f ~/.tags -R --langmap=PHP:.php.inc --php-types=c+f+d+v+i

はエラーが下記出たので
./ctags: Warning: Unsupported parameter 'i' for --php-types option

以下のコマンドでタグ作ってみた。
ctags -a -f ~/.tags -R --langmap=PHP:.php.inc --php-types=c+f+d+v ./

しかし taglist には反映されない・・・。


でも、調べてたら、気がついた。
CentOS 5で yum インストールしたctagsのバージョン(5.6)ではphpのタグを読み込まないらしい・・・
http://lab.tricorn.co.jp/kame46/43

OS のバージョンと ctags のバージョンを調べてみる。
# cat /etc/redhat-releaseCentOS
release 4.4 (Final)

# ctags --version
Exuberant Ctags 5.6, Copyright (C) 1996-2004 Darren Hiebert Compiled: Jan 6 2007, 02:14:02 Addresses: , http://ctags.sourceforge.net Optional compiled features: +wildcards, +regex

うん。そうですね。。。だめでした。

仕事場も5.5.xだったし、多分phpに対応しているのは 5.7 からです。


さらに調査をすすめて、方法が以下のサイトにあったので、
http://lab.tricorn.co.jp/kame46/43


#yum remove ctags

でアンインストールしてから、最新版取得。

# wget http://prdownloads.sourceforge.net/ctags/5.8/ctags-5.8-1.src.rpm# rpmbuild --rebuild ctags-5.8-1.src.rpm# rpm -ivh /usr/src/redhat/RPMS/i386/ctags-5.8-1.i386.rpm

で、ソースのあるっぽいディレクトリに移行して、
タグファイルををつくってみる。
# ctags -R -n --languages=PHP --PHP-types=c+f+d

できたー!!


無事に動きます。色々ジャンプするようです。

ついでに Tagexplorer,vim もいれました。
http://nanasi.jp/articles/vim/tagexplorer_vim.html


ちなみに、TagListの設定は
.vimrc に以下を書きます。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
"taglist
let Tlist_Ctags_Cmd = "/usr/bin/ctags" "ctagsのパス
let Tlist_Show_One_File = 1 "現在編集中のソースのタグしか表示しない
let Tlist_Exit_OnlyWindow = 1 "taglistのウィンドーが最後のウィンドーならばVimを閉じる
let Tlist_Use_Right_Window = 1 "右側でtaglistのウィンドーを表示
map tl :TlistToggle "taglistを開くショットカットキー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

以上です。


その他参考URL

php のタグファイル追加方法 その他
VimPHP 関数の辞書を作成する方法についてのメモ
http://www.asahi-net.or.jp/~wv7y-kmr/memo/vim_php.html

PHPを書くときに、vimでctagsを使用する方法
http://blog.veryposi.info/programing/php/php-ctags-vim/