文字編輯器 Vim 9.0 發布

經過兩年半的開發,文字編輯器 Vim 9.0 發布了。 Vim 程式碼在自己的 Copyleft 授權下分發,與 GPL 相容,並允許無限制地使用、分發和修改程式碼。 Vim 許可證的主要特徵與更改的恢復有關 - 如果 Vim 維護者認為這些改進值得關注並提交相應的請求,則必須將第三方產品中實現的改進轉移到原始項目。 根據發行類型,Vim 被歸類為慈善軟體,即Vim 的作者沒有出售該程序或為該項目的需要收集捐款,而是要求如果用戶喜歡該程序,則向慈善機構捐贈任意金額。

Vim 9 提供了一種用於開發腳本和插件的新語言 - Vim9 Script,它提供了類似於 JavaScript、TypeScript 和 Java 的語法。 新文法對於初學者來說更容易學習,但不向後相容舊的腳本語言。 同時,對先前使用的語言的支援以及對現有插件和腳本的兼容性都被完全保留——新舊語言並行支援。 沒有計劃停止對舊語言的支援。

除了重新設計語法之外,Vim9 Script 現在還支援編譯函數,這可以顯著提高生產力。 在進行的測試中,將函數編譯成字節碼可以將腳本執行速度提高10-100倍。 此外,Vim9 Script 不再將函數參數作為關聯數組進行處理,這導致了很大的開銷。 函數現在使用“def”表達式定義,並且需要明確的參數和傳回類型清單。 變數是使用具有明確類型指示的“var”表達式來定義的。

將表達式拆分為多行不再需要使用反斜線。 錯誤處理機制已完全重新設計。 運行函數不需要關鍵字“call”,但賦值需要“let”。 模組的建立已簡化 - 新增了匯出單一函數和變數以在其他文件中使用的功能。 註釋由“#”字元而不是雙引號分隔。 計劃在未來版本中提供類別支援。

其他變化包括:

  • 包括一組配色方案。
  • 改進了對拼字檢查和輸入完成的支援。
  • 新增了新設定:'autoshelldir'、'cdhome'、'cinscopedecls'、'guiligatures'、'mousemoveevent'、'quickfixtextfunc'、'spelloptions'、'thesaurusfunc'、'xtermcodes'。
  • 新增了新指令:argdedupe、balt、def、defcompile、disassemble、echoconsole、enddef、eval、export、final、import、var 和 vim9script。
  • 終端可以在彈出視窗(popup-terminal)中開啟終端並選擇終端的配色方案。
  • 新增了與LSP(語言伺服器協定)伺服器互動的通道模式。
  • 新增了對俳句作業系統的支援。

來源: opennet.ru

添加評論