Sublime Text 的 font_face 必须使用系统已注册的字体全名,如 FiraCode-Regular;填错大小写、空格或连字符将导致回退到 Consolas,且需完全退出进程后重启才生效。

连字字体必须系统级安装,Sublime 不会帮你装
Sublime Text 本身不提供字体安装功能,font_face 字段只读取操作系统已注册的字体全名。你双击 Fira Code.ttf 或拖进「字体设置」,不等于 Sublime 就能识别——它要的是注册进系统的正式名称,比如 FiraCode-Regular,而不是文件名或显示名。
常见静默失败现象:改完 font_face 后字体没变、标点符号(如 !=、=>)还是分开显示、中文显示为方块——这些都不是 Sublime 的 bug,而是底层字体链路断了。
- Windows:右键字体文件 → “为所有用户安装”,装完在「设置 → 蓝牙和其他设备 → 字体」里搜
Fira Code,点开看「字体名称」字段(不是“微软雅黑”那种中文显示名) - macOS:双击安装后打开「字体册」→ 搜索 → 选中字体 → 右下角「信息」面板里的「完整名称」才是你要抄的
- Linux:运行
fc-list : family | grep -i fira,取输出中引号内的内容,例如"Fira Code"
font_face 填错一个字符就 fallback 到 Consolas
Sublime 对 font_face 值大小写、空格、连字符极度敏感。填 "Fira Code" 在 macOS 上大概率失败;填 "fira code" 或 "FiraCode" 同样无效;某些版本注册名为 FiraCode-Retina,少个 -Retina 就不认。
正确写法必须放在 Preferences → Settings — User 右侧面板,JSON 格式合法:
{
"font_face": "FiraCode-Regular",
"font_size": 13,
"font_options": ["ligatures"]
}
- 别用中文引号、别漏双引号、末尾别多逗号
-
font_options是数组,必须写成["ligatures"],不是"ligatures"或ligatures - 如果同时要中英文混排,推荐写成
"font_face": "Microsoft YaHei, FiraCode-Regular",逗号分隔,前面优先渲染中文,后面兜底英文和连字
想显示图标?必须装 Nerd Font 补丁版
原版 Fira Code、JetBrains Mono、Cascadia Code 都不带 Nerd Fonts 图标集(如 、),哪怕开了 ligatures,状态栏、文件图标插件(如 A File Icon)也只会显示方块。
实操要点:
- 去 GitHub 搜
FiraCode Nerd Font,下载带Nerd Font字样的 release(不是原版) - 安装方式和原版一致,但配置时
font_face必须用补丁版注册名,常见为FiraCode Nerd Font或FiraCodeNF - Linux/macOS 用户建议显式写字体链:
"font_face": "FiraCode Nerd Font, DejaVu Sans Mono, monospace",避免系统 fallback 到无图标的字体
装完不生效?先杀进程再重开
Sublime 不会热加载字体配置。改完设置后,必须彻底退出进程再重开:
- Windows:任务栏右下角找 Sublime 图标 → 右键退出;或任务管理器里结束所有
subl.exe进程 - macOS:Activity Monitor 搜索
subl,强制退出;别只关窗口 - Linux:终端执行
pkill -f sublime
最容易被忽略的一点是:字体链里中文字体位置错了。把 Microsoft YaHei 放在 FiraCode-Regular 后面,中文就会 fallback 到英文连字字体,导致显示模糊或缺字——顺序就是渲染优先级,调换一下试试。



















