pathogen.vimで管理しているプラグインの一覧を出すちょっとした技、そして関数化
Vimのプラグインを管理するプラグインにpathogen.vimってのがある
pathogen.vim - Poor man's package manager. Easy manipulation of 'runtimepath' et al : vim online
プラグインを~/.vim/bundle/以下にディレクトリごとに分けて管理出来るようにするもの。詳しくはGoogle先生にでもお訊き下さい
で、そのpathogenで管理しているプラグインの一覧は、プラグインはディレクトリごとに分かれてるわけだから
$ ls -aF ~/.vim/bundle/
とかやれば大体わかる。関数にすると
function! PluginList() let s:dir_list = system("ls -aF ~/.vim/bundle/ | grep '/' ") let s:plugin_list = substitute(s:dir_list,'\n'," ","g") let s:plugin_list = substitute(s:plugin_list,'[\.]\{1,2}/ ',"","g") let s:plugin_list = substitute(s:plugin_list,"/","","g") echo s:plugin_list endfunction
とかいう風になるのかな。パイプでgrep通すのはディレクトリだけを抽出するため。lsのオプションとかで出来そうな気がするけどどうなんだろうか。substituteの3行は出力結果を整形してる。Vimスクリプトは初めて書いたのでおかしな所があるかもしれない。変なら適当に修正して使って下さいな。
これを.vimrcにでも貼っつけて、呼び出すときは:call PluginList()で
以下参考にしたページ
ファンクションでHello World — 名無しのvim使い
正規表現で文字列を置換する — 名無しのvim使い