開発したアプリなど一覧

taglist.vim を使ってみた。

記事内にアフィリエイトリンクを含む場合があります

vim with taglist.vim

プログラム内で使用している 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。便利ですね。

Sponsored Link

コメント

  1. […] を記述。ここを参考にした。 […]

  2. 犬歯 より:

    直りました、ありがとうございます

タイトルとURLをコピーしました