遅ればせながら vim から Neovim へ、プラグイン管理は NeoBundle から dein.vim へ乗り換えてみた。
ほとんどこちらの記事の通りに進めればできました。
Neovim のインストール
$ brew install neovim/neovim/neovim
インストールが完了すると、ターミナルで nvim
というコマンドで Neovim が起動できるようになる。
.zshrc
にエイリアスを設定して、vim
で起動できるようにしておく。
alias vim='nvim'
パスの設定
Neovim の設定ファイルは ~/.vimrc
でなく ~/.config/nvim/init.vim
になったらしい。
.zshrc
に以下を記述する。
export XDG_CONFIG_HOME=~/.config
dein.vim のインストール
インストールスクリプトをダウンロードしてきて実行する。
$ curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
$ mkdir -p ~/.config/nvim/dein
$ sh installer.sh ~/.config/nvim/dein
dein
ディレクトリ内に dein/repos/github.com/Shougo/dein.vim/...
というようにファイルが生成される。
init.vim の作成
~/.config/nvim
ディレクトリに init.vim
という名前のファイルを作成する。
元々 NeoBundle 用の設定をこのように書いていた。
if &compatible set nocompatible " Be iMproved endif " Required: set runtimepath^=~/.vim/bundle/neobundle.vim/ " Required: call neobundle#begin(expand('~/.vim/bundle/')) " Let NeoBundle manage NeoBundle " Required NeoBundleFetch 'Shougo/neobundle.vim' " My Bundles here: " Refer to |:NeoBundle-examples|. " Note: You don't set neobundle setting in .gvimrc! NeoBundle 'Shougo/vimproc.vim', { \ 'build' : { \ 'windows' : 'tools\\update-dll-mingw', \ 'cygwin' : 'make -f make_cygwin.mak', \ 'mac' : 'make', \ 'linux' : 'make', \ 'unix' : 'gmake', \ }, \ } " `NeoBundle XXX` でインストールしたいプラグインを記述 call neobundle#end()
init.vim では以下のようにする。
" この2行は必要なのかよくわかっていない set runtimepath+=~/.config/nvim runtime! userautoload/*.vim if &compatible set nocompatible endif set runtimepath+=~/.config/nvim/dein/repos/github.com/Shougo/dein.vim call dein#begin(expand('~/.vim/dein')) call dein#add('Shougo/dein.vim') call dein#add('Shougo/vimproc.vim', { \ 'build': { \ 'windows': 'tools\\update-dll-mingw', \ 'cygwin': 'make -f make_cygwin.mak', \ 'mac': 'make -f make_mac.mak', \ 'linux': 'make', \ 'unix': 'gmake', \ }, \ }) " `call dein#add('XXX')` でインストールしたいプラグインを記述 call dein#end()
NeoBundle foo/bar
が call dein#add('foo/bar')
に変わった、ということを覚えておけば
プラグインの追加は今まで通り簡単に行えそう。
プラグインのインストール
Neovim を起動した後、
:call dein#install()
でインストールする。
vimから移行した時の注意点
ウィンドウの移動のために以下のようなキーバインドを設定している場合。
" CTRL-hjklでウィンドウ移動 nnoremap <C-j> <C-w>j nnoremap <C-k> <C-w>k nnoremap <C-l> <C-w>l nnoremap <C-h> <C-w>h
<C-h>
(Ctrl + h) のみ、Neovim ではうまく動作しないらしい。
こちらを参考にする。
" CTRL-hjklでウィンドウ移動 nnoremap <C-j> <C-w>j nnoremap <C-k> <C-w>k nnoremap <C-l> <C-w>l nnoremap <C-h> <C-w>h if has('nvim') nmap <BS> <C-W>h endif
を追加してあげるとうまく動いた。
まだちょっとしか触っていないけど動作が軽快な感じ。