Vim エディターの最新バージョンである Neovim 0.4 が利用可能になりました

公開済み 解放する ネオビム 0.4、Vim エディターからのフォーク、 集中した 拡張性と柔軟性の向上について。プロジェクトのオリジナル開発 広める Apache 2.0 ライセンスに基づいて、ベース部分は Vim ライセンスに基づいて作成されます。

Neovim プロジェクトのフレームワーク内で、Vim コード ベースは XNUMX 年以上にわたって再加工されてきました。その結果、コードのメンテナンスを簡素化し、複数のメンテナー間で作業を分担する手段を提供し、インターフェイスをインターフェイスから分離するような変更が加えられました。基本部分 (内部に手を触れずにインターフェイスを変更できます) と新しいコンポーネントを実装します。 拡張可能なアーキテクチャ プラグインに基づいています。

Neovim の作成を促した Vim の問題の 300 つは、89 万行を超える C (CXNUMX) コードで構成される、肥大化したモノリシックなコード ベースでした。 Vim コードベースの微妙な違いをすべて理解している人はほんのわずかで、すべての変更は XNUMX 人のメンテナによって制御されているため、エディタの保守と改善が困難になっています。 Neovim は、GUI をサポートするために Vim コアに組み込まれたコードの代わりに、さまざまなツールキットを使用してインターフェイスを作成できるユニバーサル レイヤーを使用することを提案しています。

Neovim のプラグインは、MessagePack 形式が使用される相互作用のために、別個のプロセスとして起動されます。 プラグインとの対話は、エディターの基本コンポーネントをブロックすることなく、非同期的に実行されます。 プラグインにアクセスするには、TCP ソケットを使用できます。 プラグインは外部システム上で実行できます。 同時に、Neovim は Vim との下位互換性を維持し、引き続き Vimscript をサポートし (代わりに Lua が提供されます)、ほとんどの標準 Vim プラグインの接続をサポートします。 Neovim の高度な機能は、Neovim 固有の API を使用して構築されたプラグインで使用できます。

現在すでに 準備した 約 80 の特定のプラグイン、バインディングは、さまざまなプログラミング言語 (C++、Clojure、Perl、Python、Go、Java、Lisp、Lua、Ruby) およびフレームワーク (Qt5、ncurses、Node.js、エレクトロン、GTK+)。いくつかのユーザー インターフェイス オプションが開発中です。 GUI アドオンはプラグインによく似ていますが、プラグインとは異なり、プラグインは Neovim 関数の呼び出しを開始しますが、プラグインは Neovim 内から呼び出されます。

変更点の一部 新しいバージョン:

  • 新しい API 関数とユーザー インターフェイス イベントの大部分が追加されました。
  • Lua 言語でプラグインを開発するための新しい標準ライブラリ Nvim-Lua を追加しました。
  • ユーザー インターフェイス プロトコルの開発は続けられ、個々の文字ではなく行レベルで画面上の情報が更新されます。
  • 本格的なフローティング ウィンドウのサポートが追加されました。これは、任意の場所に配置、アタッチ、個々の編集バッファにリンク、およびマルチグリッド モードでグループ化できます。
  • 半透明のドロップダウン メニューに「pumblend」オプションを追加しました。

出所: オープンネット.ru

コメントを追加します