VimConf 2018

11/24 不但是台灣的大日子,日本還舉辦了 2018 年度的 VimConf,這次比較特別的是 Vim 的作者 Bram Moolenaar 也有去講 Keynote,我雖然今年依然無法去參與,但是 Twitter 上已經可以挖到不少東西了,其中有官方的投影片收集,我想在這介紹其中三個分享,第一個是 Effective Modern Vim scripting,這篇主要是做一點 Vim script 入門,另外還介紹了 Vim 8 開始的 synchronous/asynchronous process 機制的程式要怎麼寫,有興趣寫 Vim8 asynchronous script 的人可以參考一下,要找整理好的範例其實不是很好找。

第二個想介紹的是 mattn 的 What is the next feature? 這段分享主要是在介紹 vim-jp 社群,也是 VimConf 的主辦社群,這個社群還蠻活躍的,而和一般的社群比較不一樣的地方是他不只是使用者社群,也是個開發者社群,有在協助幫忙日本想貢獻 Vim 的人,包括像是資源整合、避免重工、協助轉發 bug report 和 patch,還有翻譯文件和一些文件撰寫等,接著就介紹了一些 vim-jp 貢獻的東西,像是 color emoji、lambda 之類的

最後一個就是 Bram 的 From hjkl To a plaform of plugins,介紹了 Vim 的一些發展史,主要是 plugin 相關的,也提到 Vim scripts performance 的問題(有個建議是換台更快的電腦),最後一段還提到一些未來可能的新功能,其中兩個我很有興趣,第一個是 Bram 打算處理 Plugin dependency 的問題了,投影片中有一些目前可能的解決方法,當然看起來都是走 Vim8 的 package 機制。另外一個則是 text properties,就是可以給一段文字 meta data,這個功能我非常的感興趣,因為這可以用來改善現在的 syntax highlight 機制,理想上,我可以非同步的把程式碼丟給外部的 JS parser tokenize,然後利用結果來加上 text properties,syntax highlight 再根據這個資訊來決定用那個 Highlight Group,這可以解決我的 yajs 一直無法解決的 arrow function 的判斷難題,不過還沒預計何時會出來,只能慢慢等了。


更之前的文章