Neovim 0.12.6:設定を Lua で書き、言語サーバーを中核に持つ端末エディタ
要約
端末の中で動くテキストエディタです。編集の作法は Vim のままに、設定は Lua で書く形に変えました。言語サーバーのクライアントと構文解析は中核に組み込まれています。現在の版は 0.12.6 で、Apache ライセンスで公開されています。
おすすめ- ソフト名
- Neovim
- バージョン
- 0.12.6
- 料金
- 無料
- オープンソース
- オープンソース
- OS
- WindowsmacOSLinux
- 公式サイト
- https://neovim.io/
- 更新日時
- 2026-10-13 11:59
端末の中でコードを書く人に、我慢が足りないことはほとんどない。足りないのは、窓を何度も切り替えずに済む場所のほうだ。
Vim を出発点にした組み直し
端末エディタの利点は簡単に言える。画面のある環境に依存せず、機械への要求が低く、遠隔の接続越しでもそのまま動く。長年使ってきたエディタの手の動きは十年も経つと反射になり、別の道具へ移る代償は高すぎて、ほとんどの人は移らない。この種のソフトが長生きし、置き換えにくい理由もそこにある。
Neovim はまさにその隙間に立っている。公式の定義は短い。高度に拡張できる、Vim を土台にしたテキストエディタ、というものだ。変わったのは中身の組み立て方である。以前は一つに固まっていた部分が部品に分かれ、編集の中核、画面、拡張の仕組みがそれぞれ独立し、決められた接続口を通してやり取りする形になった。その後に起きた多くの変化は、この分割から生まれている。
使う人にとって最も直接的なのは互換性だ。機能のページには、Vim の編集の作法と、第一版の Vim スクリプト言語に完全に対応すると書かれている。キーの割り当ても既存のスクリプトもそのまま動き、これまでの設定も一つずつ移せばよく、一度に書き直す必要はない。公式の文書には Vim から来た人向けの入り口も用意されている。

設定、解析、拡張の方法
設定が Lua に移ると、設定そのものを条件や繰り返しのあるプログラムとして書けるようになり、長い代入の列である必要はなくなる。拡張も Lua で書ける。公式の説明では、設定は一つの Lua ファイルに置かれ、スクリプトと拡張が同じ言語を共有するため、かつて二つの書き方の間で論理を持ち運ぶ手間が消えた。
編集の体験では二つの変更を別に取り上げたい。一つは構文の解析で、Tree-sitter が行ごとの照合ではなく文法の構造としてコードを読む。そのため括弧の対応、関数やクラス単位の選択、色分けが実際の構造に沿って正確になる。もう一つは言語サーバーのクライアントを中核に組み込んだことで、各言語の解析機能をつなげば、定義への移動、参照の一覧、名前の変更といった複数ファイルにまたがる操作が使える。言語ごとに同じ仕組みを作り直す必要はない。
拡張の仕組みで少し変わっているのは遠隔呼び出しの接続口だ。公式によれば拡張はどの言語でも書け、画面を持つプログラム、統合開発環境、さらにはブラウザまで、編集の中核を部品として組み込める。内蔵の端末も実用的な追加である。ビルド、記録の確認、コードの編集が同じ窓に収まり、切り替えの手間が一段減る。
版と入手の方法
公開のページでは Linux、macOS、Windows のいずれにも同じ版番号の成果物が用意され、環境を変えても設定をそのまま持ち運べることが多い。現在の最新版は 0.12.6 だ。同じ系列の中の修正版は不具合の修正が中心で、系列をまたぐ更新の前には変更の説明を一度読んでおくほうが安全である。
プロジェクトは Apache-2.0 で公開され、実行、変更、再配布が認められ、特許に関する条項も含む。エディタを企業の開発工程に組み込む組織では、この点が純粋に寛容なライセンスと比べられることが多い。共同体はあらかじめ設定を済ませた配布もいくつか維持しており、入れた時点でかなり揃った環境になる。設定を一から積み上げたくない人が、まず動く状態から始めるのに向いている。
項目 | 公式の情報 |
|---|---|
現在の版 | 0.12.6 |
形態 | 端末のテキストエディタ |
対応環境 | Linux、macOS、Windows |
設定の言語 | Lua |
主な機能 | 言語サーバーのクライアント、Tree-sitter による解析、遠隔呼び出しの拡張、内蔵の端末 |
ライセンス | Apache-2.0 |
昔の手の動きを残したまま、設定と拡張をより書きやすい言語へ移したことが、この組み直しの実用的な中身だ。
実務的な注意をいくつか。Vim から移るときは古い設定を丸ごと残して起動できる状態を保ち、そこから一つずつ新しい書き方へ置き換える。一度に一つなら問題の場所が分かる。言語サーバーは実際に使う言語だけをつなぐ。入れすぎると起動が目に見えて遅くなる。拡張の数は少なく保ち、不具合が出たら一つずつ止めて原因を確かめるほうが、まとめて入れてから探すより楽だ。