-> != => 画成字体为它们设计的那一个符号,每个字符的列一格不动。
需要 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”也不做。
更多关于终端字体:中文加粗,终于能看清了 · 这些字符都能正常显示吗?