読者です 読者をやめる 読者になる 読者になる

いつNeovimに乗り換えるか?

今でしょ

はい、時代遅れのこれがやりたかっただけです。 久しぶりにneovimのHEADをbuildしてみたところ完璧に使えちゃったので皆さん乗り換えましょうという宣伝です。

7/8追記
※注意:半分深夜のテンションで書いた記事ですので適用はご自身の責任でおねがいします。特に末尾のNoticeのところに書いてあるようにいくつかのpluginが動かないので注意してください。

1. build

# Ubuntuの場合。その他OSの依存関係は  https://github.com/neovim/neovim/wiki/Installing#manual-install 参照
sudo apt-get install libtool autoconf automake cmake libncurses5-dev g++ pkg-config

cd ~/.src # お好きなところで
git clone https://github.com/neovim/neovim.git
cd neovim

make
sudo make install # Pacoとかその他お好みで

これで/usr/local/bin/nvimにバイナリがインストールされます。 /home以下に入れたいときは

cmake -DCMAKE_INSTALL_PREFIX:PATH=~/usr/
make install

とすると~/usr/binにインストールできます。

また、Mac OSとArch LinuxにはOS専用のパッケージが提供されています。詳しくはInstalling · neovim/neovim Wiki · GitHub

2. runtime

buildの時に、DCMAKE_INSTALL_PREFIXを指定してインストール先を変えた場合のみ必要な手順です。特に指定せず/usr/local/binにインストールした場合は不要です。

7/8訂正 本家VimのRuntimeが以下のような位置関係でインストールされている場合のみ不要な手順です。

/path/to/bin/nvim # バイナリ
/path/to/share/vim/vim74 # Runtime; このなかにautoloadとかindentとかsyntaxとか

このままでもnvimコマンドで動きますが、シンタックスハイライトとかインデントとかが働きません(NeoVim本体のレポジトリVim Runtimeファイル群が入っていないため)。neovim/vimscriptレポジトリが提供されているので自分で設定します。

cd ~/usr/share
git clone https://github.com/neovim/vimscript.git
alias nvim='VIM=~/usr/share/vimscript/runtime/ nvim'

参考: Installing · neovim/neovim Wiki · GitHub

3. .nvimrc.nvim/の準備

NeoVimの設定ファイルは~/.nvimrcです。存在しない時は.vimrcを読んでくれるとかそういう親切設計にはなっていないようなので、シンボリックリンクを貼りましょう。

ln -sf ~/.vimrc ~/.nvimrc
ln -sf ~/.vim/ ~/.nvim/

参考:Differences from Vim · neovim/neovim Wiki · GitHub

4. Try it!

これでnvimとコマンドを打つと今までのVimと全く同じ環境が再現できるはずです。 満足したらVimとお別れしてNeoVimと幸せに過ごしましょう。

# Uninstall Vim
sudo paco -r vim # 各自の環境に合わせて

# Use NeoVim instead of Vim
echo 'alias vim=nvim' >> ~/.bashrc

Notice

NeoVimはpluginの管理方法を変えると宣言しているので、将来的にこの記事の方法では動かなくなる可能性があります。 また、現状でもいくつかのpluginとは互換性が無いようです。

7/8追記 Shougoさんに解説をいただきました。