最近はVisual Studio Codeを使うことも多くなってきたが、Vimが好きなのでNeovimで開発環境を構築してみる。
Vimの設定については検索すると色々出てくるが、設定ファイルが複雑だったり、自分の環境では動かなかったりすることがあるので、なるべく設定ファイルが長くならないようにプラグインを用いて段階的に下記項目の設定をしていく。
- プラグインマネージャー
- カラースキーム
- ステータスライン
- 空白可視化
- インデント可視化
- ファイルエクスプローラー
- タグ一覧表示
- あいまい検索
- Git連携
- Git差分表示
- 多言語パック
- Linter
- Formatter
- スニペット
- 入力補完
- 定義元ジャンプ
- プログラム実行

開発環境を構築するためにはどのような機能が必要かを整理するのが目的なので、この記事で紹介する設定ファイルを使っても完璧な設定にはならないことに注意。
Neovimのインストール
Neovimのインストール方法はこのページに書いてある。
今回はCentOS 7で試してみる。
$ cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)
以下の方法でインストールしたところv0.3.0と少しバージョンが古かった。
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install neovim
Releasesのページにはバイナリがあるので、以下のようにすることでnvimコマンドでNeovimが起動できるようになる。
curl -LO https://github.com/neovim/neovim/releases/download/v0.3.8/nvim.appimage chmod u+x nvim.appimage sudo mv nvim.appimage /usr/local/bin/nvim nvim
今回はNVIM nightly (unstable)を使うのでバージョンは0.4.0。

checkhealth
Neovimの起動画面にtype :checkhealth<Enter> to optimize Nvimと書いてあるので:checkhealthを実行してみる。
WARNINGやERRORがあるのでまずはこれらを解消してみる。


Configurationの項目では設定ファイルがないということだが、Neovimの設定ファイルは~/.vimrcではなく~/.config/nvim/init.vimのようだ。
以下のように設定ファイルを作成して、
mkdir -p ~/.config/nvim nvim ~/.config/nvim/init.vim
下記設定を記述。
set numberは行番号を表示、set termguicolorsはTrueColorで表示する設定。
set number set termguicolors
再度:checkhealthを実行してみるとConfigurationの部分がOKになっていることが確認できる。

残りの部分はClipboard, Python, Ruby, Node.js providerに関する項目で順番に見ていく。
Clipboardは:help clipboardによると以下のツールが使用でき、
- g:clipboard - pbcopy, pbpaste (macOS) - wl-copy, wl-paste (if $WAYLAND_DISPLAY is set) - xclip (if $DISPLAY is set) - xsel (if $DISPLAY is set) - lemonade (for SSH) https://github.com/pocke/lemonade - doitclient (for SSH) http://www.chiark.greenend.org.uk/~sgtatham/doit/ - win32yank (Windows) - tmux (if $TMUX is set)
以下のようなカスタム設定ができる。
でも、Clipboardは環境に依存しそうなのでとりあえずはスキップ。
let g:clipboard = { ¦ \ 'name': 'myClipboard', ¦ \ 'copy': { ¦ \ '+': 'tmux load-buffer -', ¦ \ '*': 'tmux load-buffer -', ¦ \ }, ¦ \ 'paste': { ¦ \ '+': 'tmux save-buffer -', ¦ \ '*': 'tmux save-buffer -', ¦ \ }, ¦ \ 'cache_enabled': 1, ¦ \ }
Python providerはPython2とPython3のそれぞれでpynvim(前はneovimという名前だった)パッケージをインストールするとOKになる。
例えば、pyenvとpyenv-virtualenvを使用している場合は以下のようにする。
pyenv install 3.7.4 pyenv install 2.7.16 pyenv virtualenv 3.7.4 neovim3 pyenv virtualenv 2.7.16 neovim2 pyenv shell neovim3 pip install pynvim pyenv shell neovim2 pip install pynvim
そして、init.vimでPythonのパスを設定する。
let g:python_host_prog = $HOME . '/.pyenv/versions/neovim2/bin/python' let g:python3_host_prog = $HOME . '/.pyenv/versions/neovim3/bin/python'
RubyとNode.jsも同様にneovimパッケージをインストールするとOKになる。
rbenv instlal 2.6.3 rbenv global 2.6.3 gem install neovim
npm install -g neovim
同様にパスを明示的に指定することもできるが、パスが通っていれば不要かもしれない。
let g:ruby_host_prog = $HOME . '/.rbenv/versions/2.6.3/bin/neovim-ruby-host' let g:node_host_prog = $HOME . '/.n/lib/node_modules/neovim/bin/cli.js'
これで全てがOKになったので次回以降で開発環境を構築していく。

まとめ
今回の~/.config/nvim/init.vim。
set number set termguicolors let g:python_host_prog = $HOME . '/.pyenv/versions/neovim2/bin/python' let g:python3_host_prog = $HOME . '/.pyenv/versions/neovim3/bin/python'
- 作者: DrewNeil,新丈径
- 出版社/メーカー: 角川アスキー総合研究所
- 発売日: 2014/01/28
- メディア: Kindle版
- この商品を含むブログ (4件) を見る