dein.vimを導入しpluginを管理する

deinを導入する

  • インストール先のディレクトリを作成する
mkdir ~/.cache/dein
  • インストラーを任意の作成したディレクトリに生成する
curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > ~/.cache/dein/installer.sh
  • 生成したインストラーを実行する
sh ~/cache/dein/installer.sh ~/.cache/dein
  • 以下がコンソール上に出力されるので .vimrc に貼り付ける
"dein Scripts-----------------------------
if &compatible
  set nocompatible               " Be iMproved
endif

" Required:
set runtimepath+=/Users/yutanakano/.cache/dein/repos/github.com/Shougo/dein.vim

" Required:
if dein#load_state('/Users/yutanakano/.cache/dein')
  call dein#begin('/Users/yutanakano/.cache/dein')

  " Let dein manage dein
  " Required:
  call dein#add('/Users/yutanakano/.cache/dein/repos/github.com/Shougo/dein.vim')

  " Add or remove your plugins here:
  call dein#add('Shougo/neosnippet.vim')
  call dein#add('Shougo/neosnippet-snippets')

  " You can specify revision/branch/tag.
  call dein#add('Shougo/vimshell', { 'rev': '3787e5' })

  " Required:
  call dein#end()
  call dein#save_state()
endif

" Required:
filetype plugin indent on
syntax enable

" If you want to install not installed plugins on startup.
"if dein#check_install()
"  call dein#install()
"endif

"End dein Scripts-------------------------

カスタマイズしてみる

  • コピペしたものだと使いにくいので使いやすくカスタマイズしたものが以下
"dein Scripts-----------------------------
if !&compatible
  set nocompatible               " Be iMproved
endif

" dein自体の自動インストール
let s:cache_home = empty($XDG_CACHE_HOME) ? expand('~/.cache') : $XDG_CACHE_HOME
let s:dein_dir = s:cache_home . '/dein'
let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim'
if !isdirectory(s:dein_repo_dir)
  call system('git clone https://github.com/Shougo/dein.vim ' . shellescape(s:dein_repo_dir))
endif

let &runtimepath = s:dein_repo_dir .",". &runtimepath

" Required:
if dein#load_state(s:dein_dir)
  call dein#begin(s:dein_dir)

  " Let dein manage dein
  " Required:
  call dein#add(s:dein_repo_dir)

  " Add or remove your plugins here:
  call dein#add('Shougo/neosnippet.vim')
  call dein#add('Shougo/neosnippet-snippets')

  " You can specify revision/branch/tag.
  call dein#add('Shougo/vimshell', { 'rev': '3787e5' })

  " Required:
  call dein#end()
  call dein#save_state()
endif

" Required:
filetype plugin indent on
syntax enable

" If you want to install not installed plugins on startup.
if dein#check_install()
  call dein#install()
endif

"End dein Scripts-------------------------

さいごに

  • .vimrc に貼り付けるよりも .vimrc からpluginを切り離すと管理しやすくなります
  • また機会があれば書きたいと思います