Neovimの構成診断コマンド:checkhealthの使い方
プラグインを追加した後や、環境を新しくした後に「なんとなく動きが怪しい」と感じることがあります。原因を1つずつ手探りで確認するより先に、まず:checkhealthを実行すると、設定の何が問題かを一括で洗い出せます。
目次(6項目)
:checkhealthとは
Neovimに標準搭載されている診断コマンドで、実行すると一連のチェック項目を順番にテストし、結果をレポート形式のバッファに表示します。
:checkhealth
問題が見つかった箇所には、原因や対処方法へのヒントも一緒に表示されます。似た名前の:healthcheckというコマンドは存在しないので、打ち間違えに注意が必要です。
何をチェックしてくれるのか
デフォルトの標準チェック項目に加えて、導入しているプラグイン側が対応していれば、そのプラグイン固有の状態も表示されます。代表的な確認項目は次のとおりです。
- Neovim本体のバージョンとビルド情報
- Python3・Ruby・Node.jsなど外部プロバイダの認識状況
- クリップボード連携(クリップボードツールの検出状態)
- 設定ファイルの読み込みエラーの有無
- 導入しているプラグインのヘルスチェック結果
実体はruntime/lua/vim/healthを中心とした診断用のフレームワークで、設定ファイルの内容次第で確認できる項目が変わります。プラグイン側がhealth.lua(旧仕様ではhealth#プラグイン名#check())を実装していれば、そのプラグイン専用のチェック結果も一覧に加わります。
特定のプラグインだけをチェックする
プラグインの数が多いと結果が長くなり、目的の項目を探しづらくなります。引数にプラグイン名を渡すと、そのプラグインのチェックだけに絞り込めます。
:checkhealth lazy
:checkhealth mason
:checkhealth vim.lsp
:checkhealth vim.lspを実行すると原因の切り分けが早くなります。
Vim(非Neovim)で同等の確認をしたい場合
:checkhealthはNeovim固有のコマンドで、Vim/gVimには実装がありません。同等の確認をしたい場合は、rhysd/vim-healthcheckのようなプラグインで近い機能を補えます。ただし、外部言語のプログラミング言語環境チェックまでは対応していない点に注意が必要です。
結果に赤字(ERROR)が出たときの読み方
結果は基本的にOK・WARNING・ERRORの3段階で表示されます。ERRORの緊急度は、その機能を実際に使っているかどうかで変わります。
| ERRORの出た機能 | 優先度 |
|---|---|
| 実際には使っていないプロバイダやツール | 緊急対応は不要な場合がほとんど |
| 普段使っている機能(Python連携やクリップボードなど) | 設定ファイルのパス指定や外部ツールの導入状況を優先して見直す |
環境を移行した直後にクリップボードが効かなくなったことがありましたが、:checkhealthを実行したらクリップボードプロバイダが見つかっていないことがすぐに分かりました。原因を勘で探すより、先にこのコマンドを叩く習慣をつけたほうが結果的に早く解決できると感じています。
まとめ
:checkhealthはNeovimの設定・環境まわりの不調を切り分ける最初の一手として使えます。プラグイン名を指定すれば特定領域だけに絞り込めるので、環境構築後や不調を感じたときは習慣的に実行すると安心です。