本文へスキップ

Neovim

公開元: Neovim contributors

拡張性と使いやすさに重点を置いた Vim フォーク

オープンソースApache-2.0

主な特徴

  • 既存のほとんどのVim設定やプラグインと互換性のあるモーダル編集。
  • Vimscriptのほかに設定およびプラグイン言語として組み込まれたLua。
  • コアに組み込まれたLanguage Server Protocolクライアント。
  • ハイライトおよび構造化テキストオブジェクトのためのTree-sitter解析。
  • 外部フロントエンドやアプリケーションがエディタを埋め込み可能にするmsgpack-RPC API。

このアプリケーションについて

Neovim は Vim のフォークであり、モーダル編集のモデルと馴染みのある設定のスタイルを保ちながら、拡張が難しくなっていた内部の部分を書き直したものです。ターミナル内で動作し、オペレータとモーションを通じてテキストを編集し、既存の Vim の設定やプラグインの多くを読み込みます。

重要な変更は構造的なものです。設定およびプラグインの言語として、Vimscript と並んで Lua が組み込まれています。ジョブ制御の仕組みとイベントループにより、プラグインはエディタを固まらせることなく外部プログラムを実行できます。Language Server Protocol のクライアントがコアに組み込まれているため、サーバーを設定すれば補完、診断、定義への移動が機能します。Tree-sitter は正規表現によるマッチングではなく、コードを実際の構文木へと解析し、ハイライトや構造的なテキストオブジェクトに用います。ターミナルエミュレータがバッファの中で動作します。

すべてが msgpack-RPC の API を通じて公開されており、グラフィカルなフロントエンドや組み込み側のアプリケーションはこれを通じて Neovim とやり取りします。コアにはターミナル以外に独自のインターフェースはありません。初期状態では素に近く、人々が披露する凝った構成はプラグインを組み合わせて作られたものです。

Linux

当サイトはこのファイルをホストしておらず、スキャンも内容の確認も行いません。出典の記載を読み、ご自身で判断してください。