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