經過兩年的開發,Vim 9.2 文字編輯器正式發布。 Vim 的程式碼採用其自身的 copyleft 授權協議發布,該協議與 GPL 相容,允許不受限制地使用、分發和重複使用程式碼。 Vim 授權協議的關鍵特性在於其還原條款:如果 Vim 維護者認為第三方產品中實現的改進值得關注並提出請求,則必須將其還原到原始專案中。 Vim 以慈善軟體的形式發布,這意味著 Vim 的作者不會出售程序或為項目募集捐款,而是請求用戶如果喜歡該程序,可以向慈善機構捐贈任意金額。
主要改進:
- 圖形介面 (gvim) 已更新,以支援 Wayland 協議,包括在基於 Wayland 的環境中使用剪貼簿的功能。
- 在類別 Unix 系統中,已經實現了對 Freedesktop.org XDG 基本目錄規格的支持,以及使用「~/.config/vim」目錄儲存設定的功能。
- 使用者介麵包含一個垂直(側邊)選項卡面板(選項卡面板),可以作為水平頂部面板的替代品。
- 在圖形介面中 Windows 選單和標題列新增了深色模式支援。全螢幕支援得到改進,工具列圖示也升級到了更高品質的版本。
- 插入模式下的自動補全機制現在支援近似搜索,允許不精確匹配(例如,拼寫錯誤的單字)。此外,還實現了直接補全儲存在暫存器中的單字的功能(按 CTRL-X CTRL-R 組合鍵會顯示一個選單,用於插入儲存在 Vim 暫存器中的單字)。 「completeopt」參數現在支援以下標誌:「nosort」用於停用建議清單的排序,「nearest」用於優先顯示遊標附近的單字。
- 內建互動式學習插件(:Tutor),可清晰顯示訊息,允許從中斷的任務中恢復學習,並可檢查命令的正確執行情況。
- 腳本語言現在內建了對枚舉(Enum)、泛型函數(Generic)和元組(Tuple)的支援。內建函數現在可以作為物件方法呼叫。類別中新增了對受保護的 `_new()` 建構子的支援。現在可以使用 `:defcompile` 指令來編譯方法。
- 差異比較模式新增了「linematch」演算法。演算法可透過同名的「diffopt」選項啟用,它會尋找行中相似的部分並進行對齊,從而更準確地突出顯示變更。此外,還實現了“diffanchors”選項,讓您可以手動定義“錨點”,強制將檔案分割成多個獨立比較的部分,從而避免比較複雜檔案中的錯誤部分。單行內單一字元變更的突出顯示功能也得到了改進。若要配置此反白顯示,請在「diffopt」選項中新增「inline」選項。此選項可取值為「inline:simple」(與先前相同)、「inline:char」(字元級反白)和「inline:word」(單字級反白)。

- 更改了參數的預設值:
- '歷史' (50 => 200)
- '退格鍵'('縮排、行尾、開始',退格鍵的典型行為)
- 'diffopt'("internal,filler" => "internal,filler,closeoff,indent-heuristic,inline:char")
- 'fontsize' (10pt => 12pt,適用於高 DPI 顯示器)
- 'showcmd'(關閉 => 開啟,指令始終可見)
- '標尺'(關閉 => 開啟,顯示遊標位置)
來源: opennet.ru
