Vim
vimrc
neobundle
移行応援
新人プログラマ応援
More than 1 year has passed since last update.

はじめに

Vim初心者の自分もやっぱりVimをカスタマイズしたいと考えた。
想定する対象者は

  • とりあえずvimとかよくまだわかんないけど、最近の主流っぽいvimmerの環境を整えたい方
  • [web開発に関わる、vimを複数仮想マシンで使いたい方]

(不備があればコメント下さい。)

前提

  • 環境のOSはLinux系(CentOS 6.5系, Ubuntu14系, などなど)
  • ここではshellはbashを想定(違ってもできるのでそのへんは適宜読みかえて、どうぞ)
  • Gitはある程度すでに使える
  • vim7.3以上を導入済み

CentOS 6.3にVim 7.3をインストールする

ここに書いてること

  • vimrcをカスタマイズ
  • NeoBundleでプラグイン管理
  • 設定ファイル郡(dotfiles)をGitで管理

vimrcを書いていく

特に難しいことはない。
ユーザーディレクトリに.vimrcを設置して書いていくだけ。
基本的にはこのファイルでvimをカスタマイズしていくことができる。
例えば、「TabはキモチワルイからTabキーで半角スペース4ずつに展開したい」なら

.vimrc
"Tabをスペース4つに展開&Tabの設定
set tabstop=4
set autoindent
set expandtab
set shiftwidth=4

みたいに書いておけばそうなってくれる。
ちなみに即時適用したいときはvim起動中に:source .vimrcで適用される。
他にもいろいろ設定できるので自分のほしい設定を探してみると育てている感が楽しい。

参考:vimの全オプション

NeoBundleのプラグイン管理

世界にはたくさんのVim用プラグインがある。
それらを統括的に管理してくれるプラグインがあり、そのひとつがNeoBundleである。
管理と言っても、プラグインによっては個別にコンパイルが必要だったりするので、自分の入れたいプラグインは自分で調べるべき。

まずNeoBundle本体を落としてくる。

$ mkdir -p ~/.vim/bundle
$ git clone https://github.com/Shougo/neobundle.vim  ~/.vim/bundle/neobundle.vim

本体を落としてきたら.vimrcの方にもそれ用に記入

.vimrc
set nocompatible
if has('vim_starting')
  set runtimepath+=~/.vim/bundle/neobundle.vim
endif
call neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'

" ここに入れたいプラグインを記入

call neobundle#end()
filetype plugin indent on

これでVim起動中に:NeoBundleInstallで導入は完了。
たとえば、基本的なシンタックスのチェックプラグインを入れたいなら

.vimrc
NeoBundle 'scrooloose/syntastic'

のように記入して、:NeoBundleInstallで導入できる。
アップデートしたいなら:NeoBundleUpdateで。

参考:NeoBundle

dotfilesをGit管理

vimを使いはじめると、あらゆる環境で使えるというvimの強みをいかして自分のカスタマイズをどこでも統一して適用したいと考えはじめるだろう。
(※あらゆる環境と言いつつ今回の設定ではwin環境では使えないと思われます)
ここではdotfilesという名前が示す通り、vim関連のファイルにかぎらず.bashrcや.zshrcなども管理下に含めることでその辺の環境も統一したいという動機が背景にある(このように管理するとき一般的にdotfilesという名称が使われているようだ)。

事前にGithubで新規repositoryをREADME.mdファイル無しで作成しておく。
ホームディレクトリにdotfilesディレクトリを作り、各種ファイルを移動する(今回はvim関連のファイル郡のみ)。
ホームディレクトリにはsymlinkを貼っておく。

$ mkdir ~/dotfiles
$ mv ~/.vimrc ~/dotfiles/.vimrc
$ mv ~/.vim ~/dotfiles/vimfiles
$ ln -Fis ~/dotfiles/.vimrc ~/.vimrc
$ ln -Fis ~/dotfiles/vimfiles ~/.vim
$ cd ~/dotfiles
$ git init

ここまでしたら、.gitignoreファイルを作成して/vimfiles/bundle/*を追加しておく。
あとはaddしてcommitしてpushしてください。

他環境で引っ張ってくるときは
1. 自分のdotfilesリポジトリをclone
2. neobundleをvimfiles/bundle配下にclone
3. ホームディレクトリにsymlink作成
4. vimを開いて:NeoBundleInstall
5. enjoy

以下とても参考にさせていただきました。

いつでもどこでも同じ.vimrcを使う
NeoBundleによるVimプラグイン管理とおすすめプラグイン
世界のvimmerの先輩方