vim プラグインの管理を pathogen + submodule から vundle に変えた
現在、vim プラグインは dotfiles リポジトリの中で pathogen + submodule で管理しています。
今時の vim プラグイン管理は vundle がナウいようなので、乗り遅れた感がありますがこの機会に乗り換えることにしました。
以下手順です。
*基本的に dotfiles リポジトリのルート ~/dotfiles/
で操作しています。
使用しているプラグインをメモする
プラグインを一旦削除するので、使用しているプラグインをメモしておきます。
.gitmodules
を参照すれば良いと思います。
僕の環境だと、以下のようになりました。
vim-scripts/grep.vim vim-scripts/The-NERD-tree vim-scripts/QuickBuf vim-scripts/taglist.vim Shougo/neocomplcache tpope/vim-surround scrooloose/nerdcommenter kien/ctrlp.vim
.vim プラグインの submodule を削除する
submodule の定義
.gitmodules
、.git/config
から path
が .vim/bundle/
になっているブロックを削除します。
[submodule ".vim/bundle/QuickBuf"]
path = .vim/bundle/QuickBuf
url = git://github.com/vim-scripts/QuickBuf.git
プラグイン本体
bundle 以下のプラグインを一気に削除します。不安なようであればひとつひとつ確認しながら削除してください。
% rm -rf .vim/bundle/*
.vimrc から pathogen に関する設定を削除する
.vimrc
から pathogen に関する設定を削除します。僕の場合は以下のような設定をしていました。
" vim-pathogen
filetype off
filetype indent off
syntax off
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
set helpfile=$VIMRUNTIME/doc/help.txt
filetype plugin indent on
syntax on
syntax on
を削除するとカラーハイライトが無効になるので、別の場所で syntax on
を記述してください。
(ここで指定しているのは僕の環境だけだと思いますが...)
pathogen 本体を削除
.vim/autoload/
以下に pathogen.vim
があるので削除します。
% rm .vim/autoload/pathogen.vim
これで pathogen と submodule で管理していたプラグインの削除は完了です。 一旦 commit しておくことをお勧めします。 削除したファイルは git rm --cached で一緒に commit しておくことをお忘れなく。
次から vundle のインストールです。
.gitignore に .vim/bundle を追加
プラグインをアップデートする毎に .vim/bundle
以下がリポジトリの記録対象となってしまうので
vim プラグインの管理は vundle に任せてしまって、.vim/bundle
をリポジトリの管理対象から外します。
% cat .gitignore
.vim/bundle/*
vundle をインストール
以下のような構成になります。
vundle 本体: ~/.vim/vundle/
vundle でインストールするプラグイン: ~/.vim/bundle/
vundle 自体は submodule として追加します。
% git submodule add http://github.com/gmarik/vundle.git .vim/vundle
vundle の設定
.vimrc
におまじないと、インストールしたいプラグインを記述します。
最初に残しておいたメモを元に、Bundle
のあとに、インストールしたいプラグインを指定していきます。
vim-scripts リポジトリ(https://github.com/vim-scripts)以下にあるプラグインであれば、プラグイン名をそのまま指定すれば OK です。
特定の Github リポジトリであれば「(ユーザー名)/(リポジトリ名)」という風に指定してあげます。
" vundle
set nocompatible
filetype off
set rtp+=~/.vim/vundle/
call vundle#rc()
" github/vim-scripts
Bundle "grep.vim"
Bundle "The-NERD-tree"
Bundle "QuickBuf"
Bundle "taglist.vim"
" github
Bundle "Shougo/neocomplcache"
Bundle "tpope/vim-surround"
Bundle "scrooloose/nerdcommenter"
Bundle "kien/ctrlp.vim"
filetype plugin indent on
プラグインのインストール
vim を起動して :BundleInstall
を実行します。
.vimrc で定義されたプラグインがインストールされます。 僕の環境では、Github への接続時に「HTTP request failed」エラーが出て、いくつかのプラグインのインストールに失敗しましたが、再度実行することによって正常にインストールされました。
プラグインのアップデートは BundleInstall!
で行います。
詳しい使い方については、以下の記事を参照してください。
blog.shu-cream.net: 2011 年の Vim プラグインの管理は Vundle で http://shu-cream.blogspot.com/2011/04/2011vimvundle.html
他の PC で BundleInstall するには
dotfiles リポジトリを git pull
した後に、念のため .vim/bundle/
以下を削除しておいた方が良いかも知れません。自動でアップデートされるような気もしますが...
手順としては、dotfiles
ディレクトリ以下で
% git submodule init
% git submodule update
したあとに、vim を起動し BundleInstall
を実行します。
.git/config
に、古い submodule が定義されているので、気になるようであれば削除してください。
vundle 、とても良いですね。 割と簡単に乗り換える事ができるので、年始は vundle を試してみては如何でしょうか?僕は今日から仕事です。
今年は vim の変態度を極めて行きたいと思います。 どうぞよろしくお願いします。