Neovim 0.4,Vim 編輯器的現代化版本,現已推出

發表 釋放 新維姆 0.4,來自 Vim 編輯器的一個分支, 專注的 關於提高可擴展性和靈活性。專案的原始開發 傳播 在 Apache 2.0 許可證下,基礎部分在 Vim 許可證下。

在 Neovim 專案的框架內,Vim 程式碼庫已經進行了五年多的重新設計,其結果是簡化了程式碼維護,提供了在多個維護者之間分工的方法,將介面與應用程式分開。基礎部分(可以在不觸及內部的情況下更改介面)並實現新的 可擴展架構 基於插件。

Vim 的問題之一是其臃腫、單一的程式碼庫,由超過 300 萬行 C (C89) 程式碼組成,促使 Neovim 的創建。 只有少數人了解 Vim 程式碼庫的所有細微差別,並且所有變更都由一名維護者控制,這使得編輯器的維護和改進變得困難。 Neovim 建議使用通用層,而不是內建在 Vim 核心中來支援 GUI 的程式碼,該通用層可讓您使用各種工具包建立介面。

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函數和使用者介面事件。
  • 新增了新的標準庫 Nvim-Lua,用於使用 Lua 語言開發插件。
  • 使用者介面協定的開發仍在繼續,以行的層級而不是單個字元的層級更新螢幕上的資訊。
  • 新增了對成熟浮動視窗的支持,可以將其放置在任何位置、附加、連結到單獨的編輯緩衝區,並在多重網格模式下分組。
  • 為半透明下拉選單新增了“pumblend”選項。

來源: opennet.ru

添加評論