ボクが1年間で学んだVimのまとめ
Vimを使って早1年位経ちました。
気がついたら家でも当たり前にVimを使うようになり、設定も少し変わってきたので再度メモ。
今回はVimの環境周りの話中心です。
プラグイン管理
NeoBundle.vimで全部管理するようにしました。
Vim-users.jp - Hack #238: neobundle.vim で plugin をモダンに管理する
プラグインを一元管理してくれるプラグインです。
.vimディレクトリ内にneobundle.vimを展開後、.vimrcに以下を記述。
filetype off if has('vim_starting') set rtp+=~/.vim/neobundle call neobundle#rc(expand('~/.vim/neobundle')) endif NeoBundle 'git://github.com/Shougo/neocomplcache.git' NeoBundle 'git://github.com/Shougo/neobundle.vim.git' NeoBundle 'git://github.com/Shougo/unite.vim.git' NeoBundle 'The-NERD-Commenter' filetype plugin on filetype indent on
githubやvim-scriptsのリポジトリの他、httpやhttpsなど殆ど指定可能です。
以下のコマンドでインストール
:NeoBundleInstall
アップデート・上書きインストール
:NeoBundleInstall!
プラグインを削除したい場合には、.vimrcから該当プラグインのNeoBundle 〜を削除後、以下のコマンドを実行します。
:!NeoBundleClean
Vim設定ファイル分割
Vimの基本設定とプラグイン設定を分けて記述しています。
プラグイン設定を別に記述しておくことで、読み込みの有無を簡単に切り替えることが出来ます。
if filereadable(expand('~/.vimrc.plugin')) source ~/.vimrc.plugin endif
ここでは「~/.vimrc.pluginファイルがある場合、~/.vimrc.pluginファイルをソースとして読み込む」を行っています。
Vim Scriptでもif文は利用可能なので、正確にやりたいのであればバージョンやOS,GUI/CUIで分岐するといいと思います。
Vim設定ファイル管理
最近はシンボリックリンクと併用し、githubで一括管理しています。
こうすることでgit cloneしてシンボリックリンクを貼るだけで簡単に各環境で同じ設定ファイルが運用できるようになります。
シンボリックリンクとDropboxでも同様のことは可能ですが、Dropbox単体ではバージョン管理されないしDropbox上でgit管理すると.gitディレクトリ以下も同期対象になるという非常に微妙な管理方法になるのでgithub管理の方がいいです。
まず、各種vim設定ファイルをdotfilesというディレクトリへ移します。
mkdir ~/dotfiles mv ~/.vim* ~/dotfiles/ mv ~/.gvimrc ~/dotfiles/
次にシンボリックリンクを貼ります。
ln -s ~/dotfiles/.vim ~/.vim ln -s ~/dotfiles/.vimrc ~/.vimrc ln -s ~/dotfiles/.vimrc.plugin ~/.vimrc.plugin ln -s ~/dotfiles/.gvimrc ~/.gvimrc
llしてみた。
シンボリックリンクで元パスがリンク付けされているのが分かりますね。
お次はgithubのリポジトリ作成(githubの設定ができていることが前提です)。
https://github.com/repositories/newから、dotfilesという名前でリポジトリを作成します。
dotfilesディレクトリをgitリポジトリとして初期化・コミット・プッシュします。
cd ./dotfiles git init git add . git commit -m "first commit" git push -u git@github.com:<ユーザ名>/dotfiles.git master
エラー無くプッシュできればこんな感じにdotfilesリポジトリが作成できます。
yuzuemon/dotfiles · GitHub
別のPCからは、git cloneで取得してシンボリックリンクを貼ればOKです。
# 別のPC git clone git@github.com:<ユーザ名>/dotfiles.git ln -s ~/dotfiles/.vim ~/.vim ln -s ~/dotfiles/.vimrc ~/.vimrc ln -s ~/dotfiles/.vimrc.plugin ~/.vimrc.plugin ln -s ~/dotfiles/.gvimrc ~/.gvimrc
設定ファイルを編集したら、リポジトリにpushしましょう。
git push
人によってはbashやscreenの設定ファイルもリポジトリにあげている人が居ると思います。
ボクも.zshrcや.tmux.confも一緒にリポジトリにしています。