私が VIM にもつ不満の一つに「プラグインのファイルが autoload や doc などのフォルダに散らばってしまうこと」があります。
この不満を解消するため、ちょっと前に話題になった『 pathogen 』を導入を決意しました。pathogen は Vim プラグインを管理するためのプラグインです。
まず pathogen をダウンロード。
ダウンロードしたら、vimfiles の autoload フォルダに放り込みます。
そして _vimrc を編集し pathogen を使ってプラグインを読み込むようにします。
filetype off
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
set helpfile=$VIMRUNTIME/doc/help.txt
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 プラグインの管理が楽になりそうだ。