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 = '実行ファイルのパス'
おわりに
自分で環境を診断できるのはとても便利ですね。これがきちんと問題なければ、一通りのプラグインは正常に動いてくれそうです。 環境の用意で使った各種ツールの導入は、それぞれのリポジトリやドキュメント通りに行えば問題なくできます。
また設定などで引っかかる点があればブログへ残していく予定です。何かの参考になればよいです。