Vim 已經有一個盤古之白的專案 PanGu.vim,但我還是另外寫了 bootleq/vim-wordword

根源問題

大部分語言書寫都是以空白作文字區隔,例如 this one 兩字中間的空白;
而中文是一個例外,我們每個字都是連在一起的

當混用兩種文字系統時,例如「word文字word」,就不知道交接處要不要加空白了。
雖然不會有「word文 是一個字,字word 是另一個字」的問題,但「word文字」連在一起又似乎和「word 文字」有不同意境。

Word divider 相關花絮

  • 西方歷史上也有完全不使用空白和符號間隔的 scriptio continuaVergilius Augusteus, Georgica 141

  • 日文一般來說和中文一樣,但包含大量假名時可以有例外,比較像韓文(未確認),在真正斷字的地方加上空白。

  • CSS4 有個 text spacing 草案,但好像沒有明確相關的部分。

精簡的 Vim 盤古之白實作

因為 Vim 的 regexp 可以搜尋 word boundary,又 multibyte 文字永遠被視為 word(見 'iskeyword'選項),所以其實只要 :%substitute/\>\<./ \0/g 就搞定了加空白的工作。

Vim plugin 適合 Unix 哲學

比起處理更多(甚至包含未有定論的)排版規則,專心做好「加上空白」比較重要。
而要發揮工具的最大價值,應儘力減少在 Vim 中使用它的成本,例如提供 user-operator 或其它容易呼叫的介面。