Sublime Text不安装字体,只读取系统已注册的全名;必须用系统字体册确认全名(大小写、空格、连字符全敏感),装完需刷新缓存并彻底退出Sublime才能生效。

字体必须先装进系统,Sublime 不会帮你装
Sublime Text 本身不提供任何字体安装能力,它只从操作系统已注册的字体库中读取名称。你双击 Fira Code.ttf 点“安装”,不等于 Sublime 就能识别——它要的是系统注册后的「全名」,比如 Fira Code 或 FiraCode-Regular,而不是文件名、中文名或别名。
常见错误现象:改完 font_face 后字体没变、中文显示方块、编辑器突然回退到 Consolas —— 这几乎都是因为字体根本没被系统真正注册成功。
- Windows:右键字体文件 → “为所有用户安装”(仅当前用户安装,Sublime 可能看不到)
- macOS:双击字体 → “安装字体” → 在「字体册」App 中确认目标是“电脑”而非“当前用户”,再搜索确认显示名为
Fira Code(不是“FiraCode”或“Fira-Code”) - Linux:复制到
~/.fonts/或/usr/local/share/fonts/,然后必须运行fc-cache -fv,否则fc-list | grep -i fira查不到
font_face 必须写系统注册的全名,大小写空格一个都不能错
填错 font_face 是美化失败最隐蔽的原因。Sublime 不报错,只是静默 fallback 到默认字体。它不认 “微软雅黑”,也不认 “microsoft yahei”,只认系统里那个带空格、大小写精准的英文全名。
- 思源黑体简体:必须写
"font_face": "Source Han Sans CN"(CN后缀不能少,空格不能换成下划线) - 霞鹜文楷:必须写
"font_face": "LXGW WenKai"(WenKai首字母大写,LXGW全大写) - JetBrains Mono Nerd Font:常见注册名为
JetBrainsMono Nerd Font或JetBrainsMonoNF,用fc-list : family | grep -i jetbrains查最准 - 别写
"font_face": "FiraCode-Regular.ttf"——.ttf后缀、路径、斜杠全都不合法
中英混合显示建议用字体链,别只写一个
单写一个中文字体(如 "font_face": "Microsoft YaHei")在 macOS 上容易 fallback 到系统等宽字体,导致连字失效、数字不对齐;只写一个英文字体(如 Fira Code)又可能让中文显示成方块。推荐显式声明字体链:
"font_face": "Microsoft YaHei, Fira Code"
含义:优先用 Microsoft YaHei 渲染中文和常用符号,遇到 Fira Code 支持但雅黑不支持的编程符号(如 !=、=>)时自动切过去。逗号分隔,空格可有可无,但必须用英文标点。
- macOS 用户尤其注意:单字体声明 +
line_padding_top配置不全,常导致括号高亮条变细、光标跳行不准 - 需要图标(如文件树里的
)?必须用 Nerd Font 补丁版,并确保字体链里第一个就是它,否则 fallback 后图标全变方块 - Linux/macOS 若用了
~/.fonts/,改完设置后不运行fc-cache -fv,Sublime 永远看不见新字体
改完设置必须彻底退出 Sublime,否则新配置不加载
Sublime 的设置是进程启动时一次性加载的。保存 Preferences.sublime-settings 后,如果只是关闭窗口,它通常还在后台运行(Windows 托盘、macOS Dock 图标仍亮着),新设置不会生效。
- Windows:任务栏右键托盘图标 → “退出”,或任务管理器杀掉所有
subl.exe进程 - macOS:Dock 右键图标 → 按住
Option键点“退出”,或 Activity Monitor 搜索subl强制退出 - Linux:终端执行
pkill -f sublime - 验证是否生效:重启后打开设置面板,确认 JSON 没报红(说明语法合法),再看代码区字体是否变化;若还是 Consolas,立刻回头检查系统字体册里名字是否真匹配
最容易被忽略的其实是缓存刷新和进程退出这两步——字体明明装好了、名字也抄对了,就差这最后两下,整个美化过程就卡在“看起来没效果”的假死状态。











