はじめに
これまでは以下の URL を参考に、pathogen で vim の plugin の管理を行っていました。
ただ最近、neobundle.vim がイイよ!との噂を各所でチラホラ目にしたので、移行作業をしてみました。ただ、github や vim-scripts 以外の plugin はどうすれば良いのか分からなかったので、pathogen と neobundle.vim の共存環境にしました。
方法
d:id:osyo-manga:20111222を参考にしました。
へ行って説明を読んで導入すれば neobundle.vim の導入は完了ですが、pathogen とスマートに共存できるようにするため、ちょっとだけ変更します。
まず、~/.vim/bundle 以下に neobundle を git clone します。これで pathogen を通じて neobundle が読み込まれるようになります。
$ git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle
次に、.vimrc を編集します。
" .vimrc の neobundle.vim の部分 set nocompatible filetype off if has('vim_starting') " set runtimepath+='path to neobundle directory' call neobundle#rc(expand('~/.vim/bundle/neobundle/plugins')) endif NeoBundle 'git://github.com/Shougo/clang_complete.git' NeoBundle 'git://github.com/Shougo/echodoc.git' NeoBundle 'git://github.com/Shougo/neocomplcache.git' NeoBundle 'git://github.com/Shougo/neobundle.vim.git' NeoBundle 'git://github.com/Shougo/unite.vim.git' NeoBundle 'git://github.com/Shougo/vim-vcs.git' NeoBundle 'git://github.com/Shougo/vimfiler.git' NeoBundle 'git://github.com/Shougo/vimshell.git' NeoBundle 'git://github.com/Shougo/vinarise.git' filetype plugin on filetype indent on
runtimepath は pathogen でパスが通っているのでコメントアウトしました。ホームディレクトリにドットファイルが増えるのが嫌だったのと、vim の設定ファイル達 .vim/* は git で管理しているので .vim ディレクトリ内のどこかに入れたかったので、neobundle が管理する plugin の格納先はデフォルトの ~/.bundle から ~/.vim/bundle/neobundle/plugins に変更しました。
後は、これまで pathogen で管理していたプラグイン達の移行を行います。github のプラグインたちは submodule として追加していたので、次のように git のリポジトリを作成したディレクトリでコマンドを実行して submodule を消してしまいます。
$ git submodule rm *
~/.vim/bundle/ 内のプラグインをひとつひとつ github にあるのか、それとも vim-scripts にあるのかなどを調べて、 .vimrc に追記します。私の場合は以下のような感じになりました。
" Shougo-san's Repos (default) NeoBundle 'git://github.com/Shougo/clang_complete.git' NeoBundle 'git://github.com/Shougo/echodoc.git' NeoBundle 'git://github.com/Shougo/neocomplcache.git' NeoBundle 'git://github.com/Shougo/neobundle.vim.git' NeoBundle 'git://github.com/Shougo/unite.vim.git' NeoBundle 'git://github.com/Shougo/vim-vcs.git' NeoBundle 'git://github.com/Shougo/vimfiler.git' NeoBundle 'git://github.com/Shougo/vimshell.git' NeoBundle 'git://github.com/Shougo/vinarise.git' " GitHub Repos NeoBundle 'git://github.com/h1mesuke/vim-alignta.git' NeoBundle 'git://github.com/thinca/vim-quickrun.git' NeoBundle 'git://github.com/tyru/open-browser.vim.git' NeoBundle 'git://github.com/jceb/vim-hier.git' NeoBundle 'git://github.com/Shougo/vimproc.git' NeoBundle 'git://github.com/thinca/vim-ref.git' NeoBundle 'git://github.com/kien/rainbow_parentheses.vim.git' " Vim-scripts Repos NeoBundle 'quickfixstatus.vim' NeoBundle 'TwitVim' " Unite Repos (おまけ) NeoBundle "git://github.com/osyo-manga/unite-banban.git" NeoBundle "git://github.com/osyo-manga/unite-banban2.git" NeoBundle "git://github.com/osyo-manga/unite-jojo.git" NeoBundle "git://github.com/osyo-manga/unite-nyancat_anim.git" NeoBundle "git://github.com/osyo-manga/unite-rofi.git" NeoBundle "git://github.com/osyo-manga/unite-shimapan.git"
移行できなかった Smooth Scrollとかコメントアウト系の一部の plugin だけ、そのまま bundle ディレクトリ内に残しておきました。
そして neobundle の管理対象になった plugin 達は ~/.vim/bundle/ 以下から消してしまいます。
rm -rf vim-alignta vim-quickrun ...(以下略
最後に、vimを起動して、
:NeoBundleInstall
をすれば完了です!以降の更新は、要らなくなった plugin は .vimrc から消去して
:NeoBundleClear
追加したい plugin は .vimrc に追記して
:NeoBundleInstall
各 plugin のアップデートは
:NeoBundleInstall!
のようです。Unite にも対応しているとのこと。
:Unite neobundle/install:!
:Unite neobundle/install:neocomplcache
:Unite neobundle/install:neocomplcache:unite.vim
素晴らしい。