B站两条"最佳编程字体"视频的置顶评论区,吵的是同一件事。5.6 万播放的 JetBrainsMono 视频下,528 赞的评论只说了一件事:能够一眼区分 l、I、1、| 这四个字符,以及 9 与 g、0 与 O,才算合格的字体。15 万播放的 NotoSansMono 视频下,另一条 306 赞的评论更狠:0 和 O 分不开的都是差字体。
这就是编程字体圈吵了十几年的第一条共识:字形辨识度是及格线。哔哩哔哩但这个标准只解决了问题的一半——它默认你写的是纯英文代码。而你我的日常是:注释用中文、README 用中文、终端日志里混着中文报错。一旦混进中文,再"合格"的字体也会当场破功。

中文一进来,为什么表格就歪了
海外主流编程字体——JetBrains Mono、Fira Code、Cascadia Code、Source Code Pro——都不带中文字形。编辑器遇到字体里没有的字,会自动回退(fallback)到系统里另一个有中文的字体。结果是同一屏代码出现两张脸:英文是精心调过的等宽体,中文是系统默认的微软雅黑或苹方,风格割裂还是小事,更要命的是宽度。
终端和编辑器的排版底层是一张字符网格,ASCII 占一格,CJK 中文字符按规范占两格。可回退字体的中文宽度未必严格等于英文宽度的两倍,于是中文注释右边的代码开始错位,Markdown 表格的竖线对不齐,光标定位也飘。B站评论区里那条吐槽很典型:Fira Code 没中文,Maple Mono 中文字距太大了。前者是没中文,后者是有中文但没伺候好中文。哔哩哔哩知乎上还有个老问题一直在被翻出来:为什么国内程序员们没有联合起来设计一种中英文严格 2:1 宽度比的字体?今年 8 月还有新回答,攒了 22 个收藏。知乎需求是真的,方案也真的长出来了。下面这四条路线,是我把知乎问答、B站评论区、GitHub 数据翻了一遍之后的整理。
路线一:Maple Mono CN——把中文当一等公民的当红开源字体
Maple Mono 是这波讨论里出镜率最高的名字。它是一款面向 IDE 和终端的开源等宽字体,GitHub 上已经拿到 2.69 万 Star(截至 2026 年 7 月的公开报道口径),最新正式版 v7.9 发布于 2025 年 12 月。知乎它把圆角字形、智能连字、Nerd Font 图标、中英文 2:1 对齐打包进了一套字体里,中文子集 Maple Mono CN 基于 Resource Han Rounded,覆盖简中、繁中、日文。
它踩中的正是中文开发者的高频痛点:写中文注释、中文 README、Markdown 表格、看终端日志时,宽度稳定、风格统一。有用户评论提到它在 VS Code 这类 web 渲染场景下渲染观感很好。反证也要说清楚:B站有人嫌它"中文字距太大",圆润风格也不是人人喜欢——它不是标准答案,是当前讨论度最高的候选。

路线二:更纱黑体(Sarasa Gothic)——对齐强迫症的老牌答案
如果你要的是"严格 2:1"这四个字,更纱黑体是被点名最多的老牌方案。它基于 Iosevka 和思源黑体改造,英文部分是 Iosevka 的骨架,中文部分是思源黑体的字形,卖点就是把汉字与 ASCII 的宽度比锁死在 2:1。知乎那个"2:1 宽度比"问题下的高收藏回答,安利的就是它,还细致到提醒下载 SarasaFixedSC 版本、要"为所有用户安装"。
它的气质偏冷静方正,没有 Maple Mono 那种圆角亲和力,适合把对齐看得比颜值重的人。用之前先看一眼它的 README:更纱黑体其实是 Iosevka、Inter 和思源黑体的组合字体,按拉丁部分和破折号宽度分成 Mono、Term、Fixed 三类变体,其中 Fixed 版没有连字。GitHub这也解释了为什么知乎答主点名推荐 SarasaFixedSC:等宽场景要的就是一个"稳"字。另外它对国内用户很友好,官方列了清华 TUNA 和南大的镜像源,下载不用翻来翻去。

路线三:霞鹜文楷等宽——给注释一点书法味
不是所有人都想要黑体。霞鹜文楷基于日本 Fontworks 的开源字体 Klee One 补字而成,兼有仿宋和楷体的气质,免费可商用。哔哩哔哩用在代码注释和文档里有种读闲书的松弛感。它有等宽版本,但有个细节要注意:同一字号下它和 Fira Code 不能保证中英文 1:2 等宽,有用户干脆借助 AI 把两款字体合并成了 FiraWenKaiMono。知乎这条路线适合写中文多、写代码少、或者就想让注释好看一点的场景,对齐强迫症慎入。
路线四:不动字体——反方意见也值得听
采集时我特意留了反证信号。B站有 33 赞的评论说:换个 4K 显示器,你会发现常用编程字体都不错。哔哩哔哩还有 27 赞的"随便,没精力去纠结这些",以及守了十几年 Consolas 的"无敌的 Consolas"(188 赞)。这些声音提醒一件事:字体改善有边际效应,如果你现在没有明显的对齐困扰,先把字号、行高调舒服,可能比换字体收益更大。
另外,纯英文环境(注释、提交信息都写英文)的朋友,JetBrains Mono、Fira Code 依然是顶级选择,配一个中文回退字体兜底生僻字即可,不必卷入 2:1 话题。
连字:真正的圈内分裂点
比起中英文,社区吵得更凶的是连字(ligatures)。支持方的体验很具体:if (a<=b) 开启连字后会渲染成 if (a≤b),观感特别好。哔哩哔哩反对方的理由同样硬核:连字会把真实字符藏起来,code review 和复制粘贴时容易看岔,代码语法被模糊了。

我的建议是把它当成一个可以 10 秒钟反复横跳的开关:VS Code 里 `editor.fontLigatures` 设 true 或 false,JetBrains 系在编辑器字体设置里勾选或取消。判断标准很简单——你每天花多少时间看 diff 和终端复制的内容,看得多就关掉。
一张表和三步动作
方案 | 中文支持 | 2:1 对齐 | 连字 | 风格 | 适合谁 |
|---|---|---|---|---|---|
Maple Mono CN | 简/繁/日 | 支持 | 支持 | 圆角柔和 | 中文注释多、用终端图标 |
更纱黑体 | 简/繁/日 | 严格 | 部分变体支持 | 冷静方正 | 对齐强迫症、Iosevka 党 |
霞鹜文楷等宽 | 简体为主 | 不保证 | 无 | 楷宋书卷气 | 文档型、注释审美党 |
JetBrains Mono/Fira Code + 回退 | 靠回退 | 不适用 | 支持 | 经典西式 | 纯英文环境、保守派 |
三款主力全部开源免费,个人用零版权风险,试错成本就是十分钟安装。动手三步:第一,macOS/Linux 用 Homebrew、Windows 用 Scoop 装 Maple Mono,或去 GitHub Releases 下载,更纱黑体同理走 GitHub;第二,VS Code 设置里把 `editor.fontFamily` 改成新字体名(带空格的名字记得加引号),终端记得同步改 `terminal.integrated.fontFamily`;第三,用满一周再下结论。
最后这句是 Maple Mono 那篇 2.69 万 Star 评测里的原话,也是我这次采集下来最认同的一句:别只看截图,至少用一周。知乎字体这种事,第一眼好看不代表长期舒服,长期舒服才是真的舒服。