プログラム内で使用している function とか variable とかをサイドバーで表示して見やすくしたりアクセスしやすくしたりするアレです。
インストールは neobundle.vim 使ってさっくりと。ctags はデフォルトでは入ってなかったのでこれもインストールします。
$ sudo apt-get install exuberant-ctags
設定は最近は php ばっかかいてる事が多いのでそれに合わせてます。
$ cat ~/.vimrc
" taglist
set tags=tags
let Tlist_Ctags_Cmd = "/usr/bin/ctags"
let Tlist_Show_One_File = 1 "現在編集中のソースのタグしか表示しない
let Tlist_Exit_OnlyWiindow = 1 "taglist が最後のウインドウなら vim を閉じる
"let Tlist_Enable_Fold_Column = 1 " 折り畳み
map <silent> <leader>tl :TlistToggle<CR>
let g:tlist_php_settings = 'php;c:class;d:constant;f:function'
初期設定では variable も taglist で表示するのだけど、ごちゃごちゃとして邪魔だったので function だけにした。このへんは taglist.vim に言語別のデフォルトの設定が記述されているのでとてもわかりやすい。
taglist を表示させるのは <leader>tl にした。<leader> はデフォルトではバックスラッシュです。最近まで知らなかった...。
そして、taglist を表示した状態でタブを移動したら下記のようなエラーが出たので調べたらパッチあてろとの事でそれも対処した。
エラー内容
Error detected while processing function <SNR>26_Tlist_Refresh_Folds:
line 24:
E16: Invalid range: 4,19fold
ぐぐったら以下のスレッドがひっかかった。というかぐぐって3つしかひっかからないって相当レアなエラーな気がする。
Vim - General - Taglist error: Error detected while processing function <SNR>29_Tlist_Refresh_Folds
上記にある taglist.diff を適応するとエラーはでなくなった。
一応、taglist.diff の中身を以下に記載しておきます。
diff --git a/vim/.vim/bundle/taglist/plugin/taglist.vim b/vim/.vim/bundle/taglist/plugin/taglist.vim
index 59901f6..74487a1 100644
--- a/vim/.vim/bundle/taglist/plugin/taglist.vim
+++ b/vim/.vim/bundle/taglist/plugin/taglist.vim
@@ -4097,6 +4097,11 @@ endfunction
" window. Used after entering a tab. If this is not done, then the folds
" are not properly created for taglist windows displayed in multiple tabs.
function! s:Tlist_Refresh_Folds()
+
+ if g:Tlist_Show_One_File
+ return
+ endif
+
let winnum = bufwinnr(g:TagList_title)
if winnum == -1
return
これで vim 再起動すればおk。便利ですね。
コメント
[…] を記述。ここを参考にした。 […]
直りました、ありがとうございます