ctagsを利用するSource Explorer(srcexpl.vim)がすごく便利
最近公開された【Source Explorer】というプラグインが気になって試してみました。
あればわかりやすいかなと思ってAnimationGif載せました。画像が荒くてすいません。
まずは感想から。「これはすごい」絶対にLifeChanging。
ポチしました。
更新が活発なので今後も期待できそうです。
設定
【ダウンロード先】
http://vim.sourceforge.net/scripts/script.php?script_id=2179
【インストールディレクトリ】
~/.vim/plugin/
【vimrcの設定】
- 自動的にプレビューを表示するかどうか
- 自動(#vimrcに追加。自動表示するまでの時間)
- let g:SrcExpl_RefreshTime = 1
- 手動(#デフォルトでは手動だが明示的に書くなら)
- let g:SrcExpl_RefreshTime = 0
- 手動で表示させる時はNormalモードで単語(tag)ので
を叩く。
- 自動(#vimrcに追加。自動表示するまでの時間)
- tagsをsrcexpl起動時に自動で作成(更新)するかどうか(# vimrcに追加。する場合のみ)
- let g:SrcExpl_UpdateTags = 1
- マッピング
- 手動表示のMAP(#スペースに割当てる場合。)
- let g:SrcExpl_RefreshMapKey = "
"
- let g:SrcExpl_RefreshMapKey = "
- 戻る機能のMAP(#ノーマルモードで動作する)
- let g:SrcExpl_GoBackMapKey = "
"
- let g:SrcExpl_GoBackMapKey = "
- Source Explorerの機能ON/OFF(#普通にvimrcで書く方法と同じ)
- nmap
:SrcExplToggle
- nmap
- 手動表示のMAP(#スペースに割当てる場合。)
次は他のWindow系プラグインとの連携
デフォルトで、taglist.vimとminibufferExplorerには対応しているが、私が使っているbuffer管理のPluginは『tabbar.vim』なので対応させる。
SrcExpl_OtherPluginAdapter関数に下記コードを追加する
" If the Tabbar Plugin existed if bufname("%") == "-TabBar-" " Move the cursor to the window behind. " Because I used to put the TabBar " Window on the top position. silent! wincmd j endif
これで準備OK、私が追加でvimrcに書いたのは下記コード
"自動でプレビューを表示する。TODO:うざくなってきたら手動にする。またはソースを追う時だけ自動に変更する。 let g:SrcExpl_RefreshTime = 1 "プレビューウインドウの高さ let g:SrcExpl_WinHeight = 9 "tagsは自動で作成する let g:SrcExpl_UpdateTags = 1 "マッピング let g:SrcExpl_RefreshMapKey = "<Space>" let g:SrcExpl_GoBackMapKey = "<C-b>" nmap <F8> :SrcExplToggle<CR>
使い方
ソースをファイルをvimで開きます。
下記コマンドを実行します。
:SrcExplToggle
※tagsを自動的に生成しない場合は、ctagsコマンドで自動的にtagsファイルを生成しておく必要があります。
プレビューウインドウが開きます。
単語の上にカーソルを合わせるとプレビューウインドウにtagsで関連付けられているソースが自動で表示されます。
手動で閲覧する場合は、単語の上で、
感想
buffer管理ソフトを使っていると、プレビュー先のファイル名がすぐわかるので相乗効果がありますね。
taglistを表示していると、プレビューを表示すると勝手にカーソルが移動してしまうので、オプション設定などが必要かもしれません。
ソースを追うのがこれですごく楽になった気がします。マルチウインドウを効果的に使っている印象でGUIIDEのマルチウインドウ環境にも負けてはいないのかなと思いました。
書くときも余計なジャンプもしなくても済むのでいい感じです。
ctagsをもっと効果的に利用するために、再入門をしたいなぁ。