Neovim のセットアップ、checkhealthを使って診断と設定を行う2021/01/08

Neovim のセットアップ、checkhealthを使って診断と設定を行う

Neovim 導入の際、 checkhealth を使った環境設定の診断とその結果に対しての対応を行いました。 その時の対応内容を備忘としてメモします。他の環境でセットアップするときとかの参考になればと考えています。

診断

checkhealth を実行する

Neovim を起動して以下コマンドを実行すると、環境を自分で診断します。セットアップの最初の手順として、この診断が上手く通るように対応を行いました。

:checkhealth 

診断結果

ざっくりとは以下の部分でアラートが出ていましたので、順番に対応していきます。

  • tmux true color
  • ruby
  • python2
  • python3

tmux true color

ターミナルの256色に縛られず、色の表現を意図通り反映するための設定です。 ターミナル・tmux・nvim と順番にtrue color の対応を行う必要があります。

以下のコマンドで、true color に対応出来ているかチェックできます。 それぞれで実行してみて、色の境目が滑らかに変わっていることを確認します。

curl -s https://gist.githubusercontent.com/lifepillar/09a44b8cf0f9397465614e622979107f/raw/24-bit-color.sh | bash

tmux

私は .tmux.conf に以下の設定を行うことで対応することが出来ました。環境によって異なるようです。自身の環境にあった設定を探してください。

set-option -g default-terminal "screen-256color"
set-option -ga terminal-overrides ',xterm-256color:Tc'

Neovim

Neovim 側では init.vim に以下を追加します。

set termguicolors

ruby

rbenv を使って Neovim 用の環境を用意して、特定環境の ruby を利用します。

これで rbenv を使って ruby バージョンなどの環境を変える度に、nvim のプラグインを用意しなくてよくなるメリットがあります。

rbenv のインストール

mac の場合

mac なら brew で問題なくインストールできます。rbenv install を使えるようにするため、ruby-build もインストールしましょう。

brew install rbenv
brew install ruby-build

その後、.zshrc に以下を追加します。起動時に rbenv を動作するよう設定します。

eval "$(rbenv init -)"

Ubuntu の場合

Ubuntu では github からチェックアウトするのがおすすめです。

git clone https://github.com/rbenv/rbenv.git ~/.rbenv

その後、.zshrc に以下を追加します。PATH 追加と rbenv が起動するよう設定します。

PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

rbenv install を使えるようにするため、ruby-build もインストールします。

mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

rbenv を使って ruby を用意する

ruby のバージョンを指定してインストールを行い、実行環境として設定します。

rbenv install 2.7.2
rbenv global 2.7.2

その後 nvim プラグインをインストールします。

gem install neovim

不足しているモジュールが有る場合、ruby インストールの際エラーになります。ドキュメントを参考に以下のものをインストールすると解決できました。

apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev libdb-dev

init.vim に設定を追加

以下のコマンドを実行して、該当プラグインの実行ファイルのパスを出力します。

rbenv which neovim-ruby-host

その内容を init.vim へ追加します。

let g:ruby_host_prog = '実行ファイルのパス'

これで ruby の設定は完了です。

python

pyenv のインストール

mac の場合

brew を使ってインストールしましょう。virtualenv を使えるよう関連モジュールもインストールします。

brew install pyenv 
brew install pyenv-virtualenv

.zshrc に以下を追加します。起動時に pyenv が動作するよう設定します。

eval "$(pyenv init -)"

Ubuntu の場合

ubuntu の場合は github からチェックアウトするのがおすすめです。

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

その後、.zshrc に以下を追加します。PATH の追加と rbenv を動作するよう設定します。

PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"

virtualenv も github からチェックアウトしましょう。

mkdir -p "$(pyenv root)"/plugins
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

pyenv を使って python を用意する

python2 と python3 を用意します。

pyenv install 2.7.17
pyenv install 3.9.1

それぞれが動作するよう設定した環境を用意します。

pyenv virtualenv 2.7.17 py2
pyenv virtualenv 3.9.1 py3

以下コマンドで環境を有効化し、pip で必要パッケージをインストールします。それぞれの環境で行いましょう。

pyenv activate py2
pip install neovim

pyenv activate py3
pip install neovim

init.vim に設定を追加

以下コマンドで実行ファイルのパスを取得します。python2,3 それぞれの実行ファイルパスを取得しましょう。

pyenv which python

その内容を init.vim に追加します。

let g:python_host_prog  = 'python2 の実行ファイルパス'
let g:python3_host_prog = 'python3 の実行ファイルパス'

これで python の設定も完了です。

node

環境によっては node の設定も必要です。私は nvm を使って設定を行いました。

nvim 用のnode を用意して、npm install --global neovimを行います。 その後実行ファイルのパスを取得して、init.vim に以下を追加しましょう。

let g:node_host_prog = '実行ファイルのパス'

おわりに

自分で環境を診断できるのはとても便利ですね。これがきちんと問題なければ、一通りのプラグインは正常に動いてくれそうです。 環境の用意で使った各種ツールの導入は、それぞれのリポジトリやドキュメント通りに行えば問題なくできます。

また設定などで引っかかる点があればブログへ残していく予定です。何かの参考になればよいです。

  • このエントリーをはてなブックマークに追加