読者です 読者をやめる 読者になる 読者になる

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使い

当ブログに於いて、私tasutenによって創作されたことが自明である著作物に対しては、別途明示のある場合を除き全てCC0が適用されます。