Vimでプラグインを管理する際、なんらかのプラグインマネージャを導入するのは必須といえます。 この記事では、代表的なプラグインマネージャであるdein.vimの使い方について示します。

dein.vimとは

dein.vimは、NeoBundleの作者であるShougo氏による、その後継となるVimプラグインマネージャです。

NeoBundleよりはやく、またコマンドがなく関数のみを提供しているといった特徴があります。

NeoBundleの今後のリリースは、READMEにあるとおりバグ修正のみとなるようなので、今後プラグインマネージャを導入する際はdein.vimを利用する方がいいでしょう。

Note: Active developement on NeoBundle has stopped. The only future changes will be bug fixes.

動作環境

この記事の内容は、以下の各バージョンで動作を確認しています。

  • OS X v10.11.5
  • vim v7.4
  • dein.vim rev:a1bc048...

使い方

それでは、dein.vimの使い方について説明します。 公式ドキュメントの例を参考に、.vimrcを以下のように記述します。

~/.vimrc:

let s:dein_dir = expand('~/.vim/dein')
let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim'

if &compatible
  set nocompatible
endif

if !isdirectory(s:dein_repo_dir)
  execute '!git clone git@github.com:Shougo/dein.vim.git' s:dein_repo_dir
endif

execute 'set runtimepath^=' . s:dein_repo_dir

call dein#begin(s:dein_dir)

call dein#add('Shougo/dein.vim')
call dein#add('Shougo/neocomplete.vim')
  :

call dein#end()

if dein#check_install()
  call dein#install()
endif

filetype plugin indent on

追加するプラグインは、上記のneocomplete.vimのようにdein#add(...)で追加していきます。

自動インストールを行なう

公式ドキュメントと異なる点として、dein#check_install()により、未インストールのプラグインがある場合にプラグインのインストール処理を行なっています。 必要ない場合はこの条件分岐を削除します。

条件によりプラグインを有効化する

Vim起動時に必ずしも有効化する必要のないプラグインは、on_ion_ftなどで条件を指定することができます。 詳細は:h dein-optionsで確認できます。

" インサートモード時に有効化
call dein#add('Shougo/neocomplete.vim', { 'on_i': 1 })

" ファイルタイプがRubyのときに有効化
call dein#add('osyo-manga/vim-monster', { 'on_ft': 'ruby' })

toml形式で記述する

dein.vimのプラグインは.toml形式で実装することもできます。 本記事では解説しませんが、.tomlで記述する場合は以下の記事が参考になります。

あわせて読みたい

おわりに

以上がVimのプラグインマネージャdein.vimの使い方となります。 次回以降でVimのおすすめのプラグインや設定などについても書いていきたいと思います。