VimプラグインをNeoBundleとPathogenで管理する

VimプラグインをVundleで管理しているのだけれども、VundleはVundleInstallでインストールしたプラグイン以外は自動で読み込んでくれないみたい。

例えばGo言語をインストールすると、vim設定ファイルが $GOROOT/misc/vim 以下に置かれている。
これを

ln -s $GOROOT/misc/vim ~/.vim/bundle/golang

としても、Vundleはgolang以下のpluginやsyntaxを読み込んでくれない。


そこで、Pathogenを併用することで、Bundle管理プラグインと手動管理プラグインを.vim/bundle以下で管理できるようにした。


NeoBundle
GitHub - Shougo/neobundle.vim: Next generation Vim package manager
Vundleの改善版とのことで、今回ついでにVundleからNeoBundleに移行した。
参考:
http://vim-users.jp/2011/10/hack238/]


Pathogen
GitHub - tpope/vim-pathogen: pathogen.vim: manage your runtimepath
Pathogenを導入すると、.vim/bundle以下にpluginやsyntaxをまとめられるようになる。
参考:
vimプラグインでよりよいコーディングを - KAYAC engineers' blog

導入

NeoBundleとPathogenで管理するプラグインが干渉することがないように、お互いの管理対象ディレクトリを分けた。
bundle/automatic にNeoBundle管理プラグイン、bundle/manual に手動管理プラグインっていう感じ。


.vimrcに以下を記述。

filetype plugin indent off

if has('vim_starting')
	set runtimepath+=~/.vim/bundle/automatic/neobundle.vim
	call neobundle#rc(expand('~/.vim/bundle/automatic'))
endif

"******************************************
"*     neobundle で管理するプラグイン     *
"******************************************
NeoBundle 'git://github.com/Shougo/neobundle.vim.git'

"----- github Plugins -----

"# [ pathogen ] NeoBundle管理外の自前インストールプラグインはPathogenで管理する
NeoBundle 'git://github.com/tpope/vim-pathogen.git'
if isdirectory(expand('~/.vim/bundle/automatic/vim-pathogen'))
	call pathogen#infect('~/.vim/bundle/manual')
endif

filetype plugin indent on


管理構成

.vim
├── bundle
│   ├── automatic
│   │   ├── BlockDiff
│   │   ├── bufexplorer.zip
│   │   ├── eregex.vim
│   │   ├── gtags.vim
│   │   ├── neobundle.vim
│   │   ├── neocomplcache
│   │   ├── taglist.vim
│   │   ├── unite.vim
│   │   ├── vim-alignta
│   │   ├── vim-easymotion
│   │   ├── vim-fugitive
│   │   ├── vim-pathogen
│   │   ├── vim-qfreplace
│   │   ├── vim-quickhl
│   │   ├── vim-quickrun
│   │   ├── vim-ref
│   │   ├── vim-surround
│   │   ├── vim-visualstar
│   │   ├── vimfiler
│   │   ├── vimproc
│   │   └── etc...
│   └── manual
│         ├── cmigemo
│         └── golang -> /usr/local/Cellar/go/r60.3/misc/vim
├── dict
├── indent
└── syntax


詳細な記載は、githubの .vim/source/bundles.vim
GitHub - ryochack/dotfiles



参考ページ
VundleからNeoBundleへの移行 - sugilogのブログ