本篇文章更新時間:2026/02/15
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持 。
內容目錄
Vim 9.2:一次把語言、介面、工具鏈都升級的版本(來源:Vim 9.2 released)
編輯前言:這篇官方公告篇幅很長,但如果你是 Vim 使用者或插件開發者,我真心覺得這次更新值得花點時間了解。從腳本語言升級、diff 顯示改良,到 Wayland 支援與互動教學工具,Vim 9.2 的更新幅度比我預期的還大。
核心觀點 (Key Takeaways)
- 完整強化的 Vim9 script:新增 Enums、Tuple、Generic、方法編譯等功能,語言現代化程度再進一層。
- Completion 系統大改版:加入 fuzzy matching、register 補完、完整的 popup 行為控制,整體更直覺也更強大。
- diff 模式全面提升:linematch 演算法、diffanchors、inline highlighting 都是實用到不行的更新。
深入解析
這次的更新資訊量很大,我把最關鍵的幾項挑出來講。
Vim9 Script 的成熟與進化
Vim9 script 從剛推出時的「更快但語法新」一路演進到今天,已經可以說是個現代化的小語言。官方這次把 Enums、Tuple、Generic 都補齊,讓 Vim9 在邏輯結構與 API 設計上更接近真正的程式語言。
官方特別強調:「Built-in functions are now integrated as object methods」。
這對想寫大型插件的人來說意義重大,也難怪文中提到已經有人用 Copilot 生出像 Battleship 這種完整遊戲。
Completion 大幅升級,終於更貼近主流編輯器
這次補完系統的更新,我自己覺得是 Vim 9.2 最有感的一部分。
包含:
- fuzzy matching
- register 裡的內容也能補完(CTRL-X CTRL-R)
- completeopt 新增 nosort、nearest
- 插入模式 / 命令列模式都能做到更智慧的 auto-complete
原文還附了大量 Vim9Script 範例,展示如何自己客製觸發補完行為。整體來說,Vim 的補完體驗不再只是「用插件補洞」,而是核心功能也變得夠強。
diff 模式的改良是實用級 Buff
在實際工作中,我最常抱怨 Vim 的 diff 不好閱讀。這次新功能正好精準解決:
- linematch:能讓相似行更準確對齊
- diffanchors:可以手動設 anchor 分段 diff
- inline:char / inline:word:行內變動的顯示終於全面升級
原文的示意圖很明顯看出差異,行內 diff 終於不再像以前那麼粗糙。
現代平台支援:Wayland、XDG、Windows Dark Mode
這部分比較偏向平台整合,但對日常使用的體感提升很可觀:
- Linux/Unix 依照 XDG 規範把 config 移到 ~/.config/vim
- Wayland UI 與剪貼簿支援(這對 GNOME 用戶是大好消息)
- Windows GUI 支援原生 dark mode
- 垂直 tabpanel 新 UI
Vim 的 UI 一直走實用路線,但這些更新讓它更貼合現代桌面環境。
筆者心得與啟發
看完 Vim 9.2 的更新,我有幾個強烈的感想:
-
Vim9 Script 真的是在往「正式程式語言」的方向邁進。
Modern constructs 讓插件作者可以寫出更結構化、更易維護的程式碼。以前看到 VimScript 都會皺眉,現在反而會想用 Vim9 重寫一些工具。 -
Completion 的內建能力已經足以取代部分插件。
特別是 fuzzy matching 和 popup control,對想保持環境輕量的人來說,這是一大福音。 -
diff 顯示的改良是版本中最具體、也最易感受到的進化。
我真的等這個很久了。若你常用 Vim 做 code review,這次的 diff 更新會實質提升效率。 -
Vim 的 Charityware 傳統依然延續。
文末談到 ICCF Holland 的解散與轉移到 Kuwasha,這段歷史讓我再次感受到 Vim 與 Bram 文化中的溫度,也提醒了我們這個工具是建立在一個更深層的價值之上。
總結來說,Vim 9.2 並不是那種「小修小補」的版本,而是一次包含語言設計、UI、性能、使用者體驗在內的全面進化。如果你已經使用 Vim 9 系列,這版本絕對值得立即升級。
