-> != => 畫成字型為它們設計的那一個符號,每個字元的欄位一格不動。
需要 Term v26.5.1 或更新版本。
撰寫於
寫程式用的字型大多內建連字:-> 畫成一個箭頭,!= 畫成帶斜線的等號,>= 畫成真正的 ≥。Term 以前逐個字元單獨繪製,字型裡的連字從來顯示不出來。開啟之後就看得到了。
變的只是字元的畫法,文字本身不動:-> 仍是兩個字元,游標照樣一個字元一個字元地走過去,複製出來還是 ->,按欄對齊的程式看到的和以前完全一樣。
設定 → 終端機 → 字型連字。 開關即時生效,所有開啟的分頁都會跟著變。預設是關閉的,因為不少人更願意看到自己打的原樣字元。
字型清單裡有四款帶連字:Iosevka Term(內建,也是預設字型),以及可以在 終端字體 裡下載的 JetBrains Mono、Fira Code 和 Cascadia Code。其他字型沒有連字可顯示,開啟開關後照舊繪製。Monaspace Neon 的連字放在可選的樣式集裡,Term 不會啟用。
連字是一種設計,不是統一規則,所以同一行在不同字型裡各有樣子。
a->b != c => d === e <= f >= g |> h --> ==> <=> :: www,箭頭和橫線隨字型變化;www 保持字母(見下文)。不會有感覺得到的差別。Term 只處理兩個或以上相連的符號,一般文字、ls 輸出這類內容完全略過這一步。每一段只計算一次並記下結果,捲回去看同一段程式碼不會多花工夫。我們在手機上實測,滿屏運算子捲動時,開關開啟和關閉一樣流暢。
有幾處會特意顯示原樣字元。
運算子的兩半顏色不同時,例如語法高亮把 - 和 > 標成不同顏色,它們保持兩個字元,顏色不會滲到旁邊。
Term 只合併由標點組成的運算子。由字母組成的連字,例如 Fira Code 的 www 和 0x,保持為字母;Monaspace 按字母寬度調整的「texture healing」也不做。