Vundleでvimプラグインの管理を始めた

何かとvimでコーディングをする機会が増えてきたので、効率化のためにもvimの設定ファイル作成＆プラグイン導入をしようと思いました。プラグイン導入にあたり、どうせなら管理ツールも使おうということで[Vundle](https://github.com/VundleVim/Vundle.vim)も入れました。

今回はvimの設定ファイル（vimrc）の作成からプラグイン導入までの作業記録になります。
使うものはこちら↓

- vim
- git

## vimrc

vimrcはvimを使いやすくするために自分で作成するvim用の設定ファイルです。タブとスペースの変換や、行番号を最初から表示することなどができます。初期状態では存在しないので、自分で作成しましょう。

### vimrcの場所

vimrcの置き場所はvimで指定されています。次のコマンドを実行して場所を確認します。

```
$ vim --version
```

出力結果の一部↓

```
$ vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 30 2018 19:56:57)
（略）
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/etc"
 f-b for $VIMRUNTIME: "/usr/share/vim/vim74"
（略）
$
```
`user vimrc file`と`2nd user vimrc file`がvimrcを置く場所です。両方置く場合は`user vimrc`の方が優先されます。
プラグイン管理もあるので、`.vim`ディレクトリを作成してその中で作業したほうが良いでしょう。ということで、`~/.vim/vimrc`を作成していきます。

### vimrcの作成

`~/.vim`ディレクトリを作成し、その中で

```
$ vim vimrc
```

`vimrc`ファイルが新規作成されるので、自分の好きな設定を書き込みます。`"`はコメントアウトです。

```vim

" 行番号を表示
set number

" 自動インデントを有効化
set autoindent

" tabを半角スペース4個に変換
set expandtab
set tabstop=4
set shiftwidth=4
```

これを保存すれば、次からvimを起動したときに設定が反映されるようになります。

## Vundle

vimrcだけでも結構変わりますが、vimプラグインを入れてさらに便利にしていきます。プラグインが増えてくると管理が大変になるので、プラグイン管理ツールのVundleも導入します。

導入方法は[こちら](https://github.com/VundleVim/Vundle.vim#quick-start)。gitが使えるのであれば、Quick Startの2, 3, 4を実行するだけでOKです。

### Vundleのインストール

GitHubのリポジトリをclone。

```
$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
```

すると、`~/.vim/bundle/Vundle.vim`ディレクトリが作成されます。あとはこれを有効化するため、先ほど作成したvimrcの先頭にこれをペースト。（コメント行は説明が載っているので一応そのまま）

```vim

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" The following are examples of different formats supported.
" （ここは入力例なので略）

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
```

GitHubのREADMEに載っているものを全部ペーストしても良いですが、以下の部分は自分のローカルリポジトリのパスを書くところなので、これをペーストしたまま作業を続行するとインストール時にエラーが出ます。消すなりコメントアウトするなりしましょう。

```vim
" git repos on your local machine (i.e. when working on your own plugin)
Plugin 'file:///home/gmarik/path/to/plugin'
```

vimrcを保存して閉じ、vimを起動後、コマンドモードで以下実行。プラグインのインストールが始まります。問題なく終了すれば、「Done!」と出力されます。

```
:PluginInstall
```

以上でvimプラグインの管理ができるようになりました。

## （おまけ）プラグインの追加

せっかくなので、プラグインを追加しましょう。インストール済みのプラグインはvimを起動後、以下実行で確認できます。

```
:PluginList
```

私はpythonを使うことが多いので、python用プラグインの[jedi-vim](https://github.com/davidhalter/jedi-vim)をインストールします。
GitHubにあがっているので、以下をvimrcの`call vundle#begin()`と`call vundle#end()`の間に追加して保存します。

```vim
Plugin 'davidhalter/jedi-vim'
```

そしてvimを起動後、以下実行。プラグインがインストールされます。

```
:PluginInstall
```

以上でプラグインの追加は完了です。