Neovim0.4の新バージョンの発売が発表されました これは、拡張性と柔軟性の向上に焦点を当てたVimエディターのブランチです。
Neovimプロジェクトに慣れていない人は、何を知っている必要がありますeこれはVimコードベースを作り直しています XNUMX年以上の間、 その結果、コードのメンテナンスを簡素化するために変更が加えられました、複数のメンテナ間で作業を分割する手段を提供し、インターフェイスをベースから分離し(インターフェイスは内部に触れることなく変更できます)、プラグインに基づく新しい拡張可能なアーキテクチャを実装します。
Neovimの作成につながったVimの問題から 300万行以上のCコードで構成されています。Vimコードベースのすべてのニュアンスを理解している人はごくわずかであり、すべての変更はメンテナによって制御されているため、エディタの保守と改善に取り組むことは困難です。
GUIをサポートするためにVimコアに埋め込まれたコードの代わりに、Neovimは、さまざまなツールキットを使用してインターフェイスを作成できるユニバーサルレイヤーを使用することを提案しています。
Neovimのプラグインは個別のプロセスとして実行されます、MessagePack形式が使用されます。 プラグインとの相互作用は、エディターの基本コンポーネントをブロックすることなく、非同期モードで実行されます。
プラグインにアクセスするには、TCPソケットを使用できます。つまり、プラグインを外部システムで実行できます。
同時に、NeovimはVimとの下位互換性があります。 (Luaの代替として)Vimscriptを引き続きサポートし、ほとんどの標準Vimプラグインのプラグインをサポートします。 Neovimの高度な機能は、Neovim固有のAPIで作成されたプラグインで使用できます。
約80の特定のプラグインがすでに用意されており、さまざまなプログラミング言語(C ++、Clojure、Perl、Python、Go、Java、Lisp、Lua、Ruby)とフレームワーク(Qt5)を使用してプラグインとインターフェイスの実装を作成するために使用できるフォルダーがあります、ncurses、Node .js、Electron、GTK +)。 さまざまなユーザーインターフェイスオプションが開発されています。
GUIプラグインはプラグインと非常に似ていますが、プラグインとは異なり、Neovim関数の呼び出しを開始しますが、プラグインはNeovimから呼び出されます。
プロジェクトの元の開発はApache2.0ライセンスの下で配布され、ベース部分はVimライセンスの下で配布されます。
Neovim0.4のメインニュース
Neovim0.4のこの新しいバージョンのリリースに伴い 新しいAPI関数とUIイベントの多くがアプリケーションに追加されました。
それに加えて、それはまた強調されています 新しい標準のNvim-Luaライブラリを追加しました Lua言語でプラグインを開発します。
一方、ユーザーインターフェイスプロトコルの開発は継続されており、個々の文字ではなく、行レベルで画面上の情報が更新されます。
そしてそれはNeovim0.4でも フルフローティングウィンドウのサポートが追加されました マルチグリッドモードでグループ化して、どこにでも配置、接続、個々の編集バッファーにリンクすることができます。
現在 設置ケース用 Linuxでのこの新しいバージョンのNeovimが過半数の範囲内にあることを強調することが重要です リポジトリから 最も人気のあるディストリビューションの。
でも 現時点での唯一の問題は、新しいバージョンがまだ更新されていないことです。 ほとんどのLinuxディストリビューションのリポジトリにあります。
から 現在、ArchLinxuとその派生物のみ 彼らはすでにこのパッケージを利用できます。
Archおよび派生物にインストールするには、ターミナルを開くだけで、次のコマンドを入力します。
sudo pacman -S neovim
つつ Debian、Ubuntu、および派生物のユーザーは、新しいパッケージが利用可能になり次第インストールできます。 ターミナルで次のコマンドを実行します。
sudo apt install neovim
Fedoraおよび派生物のユーザーの場合:
sudo dnf install neovim
OpenSUSEユーザー:
sudo zypper install neovim
最後にGentooユーザー向け
emerge -a app-editors/neovim