私が VIM にもつ不満の一つに「プラグインのファイルが autoload や doc などのフォルダに散らばってしまうこと」があります。
この不満を解消するため、ちょっと前に話題になった『 pathogen 』を導入を決意しました。pathogen は Vim プラグインを管理するためのプラグインです。
まず pathogen をダウンロード。
ダウンロードしたら、vimfiles の autoload フォルダに放り込みます。
そして _vimrc を編集し pathogen を使ってプラグインを読み込むようにします。
"pathogenでftdetectなどをロードさせるために一度ファイルタイプ判定をoffにする filetype off "pathogen.vimを使ってbundle配下のプラグインをpathに加える call pathogen#runtime_append_all_bundles() call pathogen#helptags() set helpfile=$VIMRUNTIME/doc/help.txt "ファイルタイプ設定をonにする filetype on
これで仕込みは完了。あとは vimfiles 内のフォルダを再配置します。
びふぉー。
C:\Users\ユーザー名\vimfiles>tree /F フォルダ パスの一覧 ボリューム シリアル番号は 001CF6F4 11DE:FD71 です C:. │ .gitignore │ make_cygwin.mak │ make_gcc.mak │ make_mac.mak │ make_mingw.mak │ make_msvc.mak │ ├─autoload │ │ fakepoll.h │ │ neocomplcache.vim │ │ pathogen.vim │ │ proc.c │ │ proc.dll │ │ proc_w32.c │ │ vimproc.vim │ │ vimshell.vim │ │ vimstack.c │ │ │ ├─neocomplcache │ │ │ cache.vim │ │ │ util.vim │ │ │ │ │ └─sources │ │ │ abbrev_complete.vim │ │ │ buffer_complete.vim │ │ │ completefunc_complete.vim │ │ │ dictionary_complete.vim │ │ │ filename_complete.vim │ │ │ include_complete.vim │ │ │ keyword_complete.vim │ │ │ omni_complete.vim │ │ │ snippets_complete.vim │ │ │ syntax_complete.vim │ │ │ tags_complete.vim │ │ │ vim_complete.vim │ │ │ │ │ ├─snippets_complete │ │ │ actionscript.snip │ │ │ apache.snip │ │ │ applescript.snip │ │ │ c.snip │ │ │ cpp.snip │ │ │ css.snip │ │ │ d.snip │ │ │ eruby.snip │ │ │ java.snip │ │ │ javascript.snip │ │ │ markdown.snip │ │ │ objc.snip │ │ │ perl.snip │ │ │ php.snip │ │ │ python.snip │ │ │ rails.snip │ │ │ ruby.snip │ │ │ sh.snip │ │ │ snippet.snip │ │ │ tex.snip │ │ │ vim.snip │ │ │ vimshell.snip │ │ │ xhtml.snip │ │ │ _.snip │ │ │ │ │ └─vim_complete │ │ autocmds.dict │ │ commands.dict │ │ command_args.dict │ │ command_completions.dict │ │ command_prototypes.dict │ │ command_replaces.dict │ │ features.dict │ │ functions.dict │ │ helper.vim │ │ mappings.dict │ │ options.dict │ │ variables.dict │ │ │ ├─vimproc │ │ parser.vim │ │ │ └─vimshell │ │ altercmd.vim │ │ history.vim │ │ hook.vim │ │ interactive.vim │ │ int_mappings.vim │ │ mappings.vim │ │ parser.vim │ │ terminal.vim │ │ term_mappings.vim │ │ util.vim │ │ vcs.vim │ │ │ ├─commands │ │ alias.vim │ │ bcd.vim │ │ bg.vim │ │ cd.vim │ │ clear.vim │ │ dirs.vim │ │ echo.vim │ │ eval.vim │ │ exe.vim │ │ exit.vim │ │ galias.vim │ │ gcd.vim │ │ gexe.vim │ │ h.vim │ │ histdel.vim │ │ history.vim │ │ iexe.vim │ │ less.vim │ │ let.vim │ │ ls.vim │ │ mkcd.vim │ │ nop.vim │ │ open.vim │ │ popd.vim │ │ pwd.vim │ │ repeat.vim │ │ sexe.vim │ │ shell.vim │ │ sudo.vim │ │ texe.vim │ │ vexe.vim │ │ view.vim │ │ vim.vim │ │ vimdiff.vim │ │ vimsh.vim │ │ │ ├─complete │ │ args_complete.vim │ │ auto_complete.vim │ │ command_complete.vim │ │ helper.vim │ │ history_complete.vim │ │ interactive_history_complete.vim │ │ vimshell_execute_complete.vim │ │ │ └─vcs │ git.vim │ ├─doc │ neocomplcache.jax │ neocomplcache.txt │ project.txt │ tags │ tags-ja │ vimproc.jax │ vimshell.jax │ vimshell.txt │ ├─ftplugin │ ruby.vim │ ├─indent │ snippet.vim │ ├─plugin │ ank_cc.vim │ neocomplcache.vim │ project.vim │ vimproc.vim │ vimshell.vim │ ├─presen │ vimshell.mkd │ ├─syntax │ int-termtter.vim │ snippet.vim │ vimshell.vim │ vimshrc.vim │ └─test test1.vim test2.vim test3.vim test4.vim test5.vim test6.vim
あふたー。
C:\Users\ユーザー名\vimfiles>tree /F フォルダ パスの一覧 ボリューム シリアル番号は 0013F51C 11DE:FD71 です C:. ├─autoload │ pathogen.vim │ └─bundle ├─ank_cc │ └─plugin │ ank_cc.vim │ ├─neocomplcache │ ├─autoload │ │ │ neocomplcache.vim │ │ │ │ │ └─neocomplcache │ │ │ cache.vim │ │ │ util.vim │ │ │ │ │ └─sources │ │ │ abbrev_complete.vim │ │ │ buffer_complete.vim │ │ │ completefunc_complete.vim │ │ │ dictionary_complete.vim │ │ │ filename_complete.vim │ │ │ include_complete.vim │ │ │ keyword_complete.vim │ │ │ omni_complete.vim │ │ │ snippets_complete.vim │ │ │ syntax_complete.vim │ │ │ tags_complete.vim │ │ │ vim_complete.vim │ │ │ │ │ ├─snippets_complete │ │ │ actionscript.snip │ │ │ apache.snip │ │ │ applescript.snip │ │ │ c.snip │ │ │ cpp.snip │ │ │ css.snip │ │ │ d.snip │ │ │ eruby.snip │ │ │ java.snip │ │ │ javascript.snip │ │ │ markdown.snip │ │ │ objc.snip │ │ │ perl.snip │ │ │ php.snip │ │ │ python.snip │ │ │ rails.snip │ │ │ ruby.snip │ │ │ sh.snip │ │ │ snippet.snip │ │ │ tex.snip │ │ │ vim.snip │ │ │ vimshell.snip │ │ │ xhtml.snip │ │ │ _.snip │ │ │ │ │ └─vim_complete │ │ autocmds.dict │ │ commands.dict │ │ command_args.dict │ │ command_completions.dict │ │ command_prototypes.dict │ │ command_replaces.dict │ │ features.dict │ │ functions.dict │ │ helper.vim │ │ mappings.dict │ │ options.dict │ │ variables.dict │ │ │ ├─doc │ │ neocomplcache.jax │ │ neocomplcache.txt │ │ tags │ │ tags-ja │ │ │ ├─indent │ │ snippet.vim │ │ │ ├─plugin │ │ neocomplcache.vim │ │ │ └─syntax │ snippet.vim │ ├─project │ ├─doc │ │ project.txt │ │ tags │ │ │ └─plugin │ project.vim │ ├─ruby │ └─ftplugin │ ruby.vim │ ├─vimproc │ │ .gitignore │ │ make_cygwin.mak │ │ make_gcc.mak │ │ make_mac.mak │ │ make_mingw.mak │ │ make_msvc.mak │ │ │ ├─autoload │ │ │ fakepoll.h │ │ │ proc.c │ │ │ proc.dll │ │ │ proc_w32.c │ │ │ vimproc.vim │ │ │ vimstack.c │ │ │ │ │ └─vimproc │ │ parser.vim │ │ │ ├─doc │ │ tags-ja │ │ vimproc.jax │ │ │ ├─plugin │ │ vimproc.vim │ │ │ └─test │ test1.vim │ test2.vim │ test3.vim │ test4.vim │ test5.vim │ test6.vim │ └─vimshell ├─autoload │ │ vimshell.vim │ │ │ └─vimshell │ │ altercmd.vim │ │ history.vim │ │ hook.vim │ │ interactive.vim │ │ int_mappings.vim │ │ mappings.vim │ │ parser.vim │ │ terminal.vim │ │ term_mappings.vim │ │ util.vim │ │ vcs.vim │ │ │ ├─commands │ │ alias.vim │ │ bcd.vim │ │ bg.vim │ │ cd.vim │ │ clear.vim │ │ dirs.vim │ │ echo.vim │ │ eval.vim │ │ exe.vim │ │ exit.vim │ │ galias.vim │ │ gcd.vim │ │ gexe.vim │ │ h.vim │ │ histdel.vim │ │ history.vim │ │ iexe.vim │ │ less.vim │ │ let.vim │ │ ls.vim │ │ mkcd.vim │ │ nop.vim │ │ open.vim │ │ popd.vim │ │ pwd.vim │ │ repeat.vim │ │ sexe.vim │ │ shell.vim │ │ sudo.vim │ │ texe.vim │ │ vexe.vim │ │ view.vim │ │ vim.vim │ │ vimdiff.vim │ │ vimsh.vim │ │ │ ├─complete │ │ args_complete.vim │ │ auto_complete.vim │ │ command_complete.vim │ │ helper.vim │ │ history_complete.vim │ │ interactive_history_complete.vim │ │ vimshell_execute_complete.vim │ │ │ └─vcs │ git.vim │ ├─doc │ tags │ tags-ja │ vimshell.jax │ vimshell.txt │ ├─plugin │ vimshell.vim │ ├─presen │ vimshell.mkd │ └─syntax int-termtter.vim vimshell.vim vimshrc.vim
なんということでしょう!
bundle 配下にプラグイン毎にフォルダが用意され、その中にプラグインのファイル(txtやvim)がまとまっているではありませんか!!
Vim を起動して、プラグインがちゃんと読み込まれたら成功です。これで Vim プラグインの管理が楽になりそうだ。