這個專案魔改了微軟的命令列文字編輯軟體 edit ,加上各種符合個人中文寫作需求、以及台灣人在九零年代 DOS 時代時所習慣的復古元素。
自從 Windows 等 GUI 作業系統,在中文世界普及以來,中文使用者往往就在為西方使用者設計的文書軟體中寫作。—現在較普及的軟體,包括微軟 Word、Google Docs、開源的 LibreOffice 等。
開啟軟體後,畫面中就模擬了一張 letter size 或 A4 的紙張,用 12pt 的明體或黑體字寫作,相當一行內容納了四十字—以中文來說,字數太多了。
中文是方塊字,資訊密度高於英文以及許多種語言。同樣是一行 A4 紙的寬度的文字,中文的資訊量,大概會多出英文三分之一,在這種軟體中閱讀或寫作,人們容易疲勞,注意力也受到影響。適合中文閱讀與寫作的環境,大約介於一行十五到三十字之間。一些號稱精簡、讓人不受干擾,畫面精簡的筆記軟體(IA Writer、Typora、Obsidian 等),也不見得適合中文—因為這些軟體的版型,也往往按照西方標準。
在 Word 等軟體中,可以透過修改頁面設置,變成想要的頁面寬度。但,如此一來,為了想在合適的寬度中寫作,反而影響了最後的列印結果。
說得誇張一點,我們的中文寫作體驗,可說被西方式的版型、還有排版先於寫作的軟體設計所綁架。一套可以調整換行寬度的純文字編輯器,或許是更好的寫作工具。
但,寫作與文件排版可以分成兩個步驟,人們可以先在純文字軟體中寫作,專心在文字上,之後再用視覺化的文書或桌上出版軟體排版,寫作時的體驗,不必、也不該受到版面的限制。
現在人們往往透過大大小小螢幕閱讀文字,而不是透過紙張,每天早上是在通勤時打開手機閱讀新聞,而不是透過報紙。同一篇文字,可能在手上、也可能出現在超過三十吋的螢幕上,但文書軟體,卻還是在模擬一張 A4 。
甚至,在這個人們開始將大量工作交給 AI 的時代,有愈來愈多的文字根本不是在紙張與螢幕上讓人閱讀,而是寫給 AI 的 prompts 與 skills,是各種 Markdown 檔案。AI 並不是用視覺的方式閱讀文件,也不在乎文件怎麼排版。在撰寫這類文件的時候,繼續用模擬 A4 紙的文書軟體,更顯得沒有道理—寫作的人可以在舒適的環境中寫作,比起怎麼排版更重要。
這幾年的另一項趨勢,是 CLI、TUI 隨著 AI 重新回到人們的日常工作與生活中,人們重打開終端機,在 CLI 下大量使用 AI 工具,讓 Agent 產生內容、操作更多工具。在大量工作都在終端機完成的狀況下,自然也會想在終端機裡頭,撰寫讓 AI 閱讀的文件,而不用再切換到其他軟體—即使那些筆記軟體,號稱還有什麼相互連結的知識庫功能。
重新回到終端機下寫作,就會有這樣的問題—現在還有什麼好用的、適合中文的文字模式編輯器?在終端機中寫長篇中文,應該要有怎樣的體驗?
在 Windows、Word 普及之後,繁體中文世界的本土文書軟體幾乎絕跡,更何況是文字模式的編輯器。這時候我們或許想起了,那些本土的、文字模式的,為了繁體中文開發的軟體,那種現在還存在不少人身上的文書編輯肌肉記憶,那種體驗,其實都還停在上個世紀九十年代。
我們可以在 VIM 或是 Emacs 等純文字編輯軟體中,像是透過 Emacs 中的 visual-fill-column 套件,修改換行(soft-wrap)寬度。
不過,個人往往也會用這些編輯器,編輯其他種類的文字檔案,不見得都用於中文寫作,要切換到適合中文寫作的環境,往往需要來回切換,有些麻煩,我希望可以隨開隨用。而個人還有一項「希望即時可以知道我一段中文是否寫太長」的需求,各種既有編輯器看來都不能滿足。
微軟最近幾年重新開發的 edit ,是一套輕巧但是優異的軟體。他的定位是讓用戶可以在命令列中,快速編輯一些設定檔,並不打算做一套可以編輯各種程式的全能編輯器—這對中文寫作已經非常夠用。微軟使用現代化的 Rust 語言與相關工具開發 edit,在 Windows、macOS、Linux 等平台上都可以直接編譯,在個平台上都可以使用。微軟 edit 的 Unicode 支援比起一些編輯器也更加完整,甚至還做了中文避頭點功能。
在微軟 edit 的基礎上,本專案加上以下功能:
- 換行位置:可以用選單,或是命令列上的 set-word-wrap-column 功能,選擇在幾個英文字母的寬度換行。
- 設置換行時,可以選擇是否要在螢幕上顯示 WordStar 風格的標尺(或是 Emacs 的 ruler mode),知道換行位置
- 中文標點:可以使用
Alt + ,、Alt + .等快速鍵,輸入中文標點。 - 功能命令化:在原本 edit 編輯器的下方,增加一行命令行,可以用九零年代文書軟體中的方式輸入命令。
- 古老編輯器的快速鍵:像是 F2 存檔、F3 存檔並退出、F4 退出,使用 F1 或是 F10 叫出編輯器選單,符合活過九零年代的台灣人的寫作肌肉記憶。
- 配色:採用九零年代台灣的文書軟體流行的配色。像是綠色工具列、以及藍底白字的編輯區等。
這個魔改版本有一項過去各種編輯器應該都沒有的功能,就是即時顯示一個段落中有多少字,功能是—提示寫作者某一段是不是已經寫得太長,應該要考慮刪減或是分段。
個人的寫作習慣是,如果要讓文字流暢易讀,一段文字的長度會介於一百字到兩百字之間。整篇文章都是,短句會顯得鬆散,一段文字太長,也會影響閱讀,除非是要刻意創造特殊效果,才會在流暢的段落中打破框架,出現刻意的短句或長段落,創造疲倦感、或是提示可以在某個段落可以停頓閱讀。
每一段的段落長度,會影響閱讀的節奏,這項功能,就是一個協助調整段落節奏的調節器。
