Vim 8.2發佈
- 2020 年 2 月 12 日
- 筆記
距推出 Vim 8.1 已過去一年多,Vim 8.2 也終於在近日發佈了。除了修復錯誤、更新文檔和改進測試覆蓋率等常規更新外,此版本還帶來了一些有趣的新功能。
Vim 開發團隊的成員表示,在去年的 VimConf 2018 做主題演講之前,他向 Vim 插件開發者詢問了他們對 Vim 的功能需求。
其中「「彈出窗口(Popup Windows)」和「文本屬性(Text Properties)」這兩項呼聲最大。經過一年多的開發,這兩個新功能已順利實現。
先簡單介紹一下「彈出窗口」,這是 Vim 8.2 新引入的概念,此功能的正式名稱為"Popup Windows",用於在正在編輯的窗口的最前方顯示文本(消息框、函數原型、代碼片段以及其他信息),而且顯示的位置也非常靈活:它們可以相對於文本定位在絕對位置或僅在屏幕中間。
窗口的大小可以修改,並調整以適應文本。設置"zindex"值就能指定 popup window 在其他窗口前面。
另一項同樣重要的新功能是「文本屬性(Text Properties)」,用於處理語法高亮顯示等特性,而不是使用基於模式的高亮顯示。


▲ 新功能使用截圖,圖片來自Linux公社
為了介紹 Popup Windows 和 Text Properties 這兩個新功能,Vim 團隊的開發者還寫了一個小遊戲 Killersheep(已開源) 來進行展示。

其他值得關注的新功能:
- "const"命令,用於聲明一個不能改變的變量:
const TIMER_DELAY = 400
- 用於方法調用的函數鏈
mylist->filter(filterexpr)->map(mapexpr)->sort()->join()
- 通過指派 Heredoc 樣式,可以輕鬆地將行列表指派給變量,而無需引用或 line continuation:
let lines =<< trim END line one line two END
- 為 Windows 10 添加了 ConPTY 支持,可以在控制台中顯示全彩色
詳細更新內容請查看 https://www.vim.org/vim-8.2-released.php