跳到主要内容

目前适合编程的字体

· 阅读需 3 分钟

大家在意过自己的编程字体吗,我觉得字体是个很重要的东西,当我习惯一种字体后,切换其他字体时总有不适应,大大影响效率。

怎么挑选字体

选择一种字体长期使用是很有必要的,这里我从自己的经验列出一些对字体的需求:

  1. 等宽 Mono 字体,光英文等宽还不够,需要中文也等宽,且中文宽幅等于2个英文字符,如果想在代码注释里写表格,或者画 ascii 流程图,那么这点是必不可少的
  2. 能够轻松区分数字 0​ 和大写的 O​ ,区分数字 1​ 和大写的 l​ 等等,也就是说部分字体必须衬线以区分,已经遇到过很多次微信截图OCR复制代码闹出的笑话了,但是不能所有字体都衬线,因为会很乱
  3. 集成 Nerd Fonts,当然这个可以自己 patch
  4. 能够合字,我对这个需求不是很高,部分人可能会觉得代码更容易阅读

非常不错的字体

  • Migu 1M:支持中文等宽,因为基于日文开发,部分汉字书写是日文习惯,没有集成 Nerd Font,拉丁字体感觉过于方正
  • SF Mono:这个是苹果的等宽字体,不支持汉字等宽,但是这个项目 patch 了 Migu 1M 和 Nerd Fonts,效果还不错,就是非 mac 系统可能比较难搞,而且感觉在 1080P 这种较低分辨率的显示器上锯齿挺多
  • Sarasa Gothic:支持中文等宽,感觉英文太细长,间距太近了,看着很累
  • udev-gothic:支持中文等宽,基于 Jetbrains Font,还是拉丁字体间距太窄了,看着累
  • maple-font:支持中文等宽,相对 udev-gothic 来说,中文的间距过大了,但是中文在代码中的占比较少,所以效果很不错,我目前使用这个字体

参考链接

类似的整理集合、相关讨论: