sublime字体设置需分编辑区、侧边栏、菜单三套系统:编辑区改font_face和font_size(须系统字体名完全一致、json格式正确),侧边栏/菜单须修改主题文件中sidebar_label等class的font.face和font.size,st4.4277+可用ui_font_size全局缩放ui。

Sublime 改字体不是“换个名字就完事”,它分编辑区、侧边栏、菜单三套系统,改错地方根本没反应——你看到字体没变,大概率不是配置写错了,是压根没改到对应位置。
编辑区字体怎么设才生效
只改 Preferences → Settings – User 里的 font_face 和 font_size 就行,但必须满足三个前提:
- 字体名和系统注册的**完全一致**:Windows 写
"Microsoft YaHei",macOS 写"SF Mono",Linux 写"DejaVu Sans Mono";写成"微软雅黑"或"YaHei"都会静默失败 -
font_size单位是像素(px),12–14 是高分屏常用值;小于 11 在 4K 屏上容易糊,大于 16 可能导致括号匹配高亮条被裁掉 - JSON 格式不能出错:键名必须是
font_face(不是fontsize或font-face),末尾不能多逗号,字符串必须用双引号
示例有效配置:
{
"font_face": "Fira Code",
"font_size": 13,
"line_padding_top": 1,
"line_padding_bottom": 1
}
为什么侧边栏/菜单字体死活不变
因为 font_face 这个字段对侧边栏、标签页、状态栏**完全无效**。Sublime 把 UI 渲染和编辑区渲染彻底分开,侧边栏走的是主题文件(.sublime-theme)路径。
- 想改侧边栏字体,必须打开当前启用的主题目录(比如
Packages/Theme - Adaptive/Adaptive.sublime-theme) - 在文件里搜索
"class": "sidebar_label",在其对应 rule 里加"font.face": "Fira Code"和"font.size": 12 - 改完保存后,**必须完全退出 Sublime(macOS 要从菜单栏选「退出」,不是关窗口)再重开**,否则缓存不刷新
- ST4.4277+ 才支持
ui_font_size全局缩放 UI,旧版只能硬改主题文件
连字(ligatures)为什么开了也不显示
连字不是加个 "font_options": ["liga"] 就自动跑起来的,它依赖三重条件同时满足:
- 系统已安装带连字表的字体版本(如 Fira Code ≥ v6.2,JetBrains Mono ≥ 2.300)
- 字体名填对:有些系统把
FiraCode-Regular.ttf注册为"FiraCode-Regular",写成"Fira Code"就找不到 - Sublime 版本 ≥ ST4 (Build 4143+),且未禁用 subpixel 渲染(macOS 可省略
subpixel_antialias,Windows 建议加上)
验证方式很简单:新建文件,输入 != == => && ||,看是否合并为 ≠、==、⇒ 等符号。没变化?先检查字体安装状态(fc-list | grep "Fira" 或字体册搜索),别急着调配置。
中英文混排总出方块怎么办
纯英文编程字体(如 Consolas、Monaco)不含中文字符,强行设为 font_face,中文注释/字符串必然显示为方框——Sublime 不支持 CSS 式 fallback 字体链,但可以用系统级回退绕过。
- 推荐写法:
"font_face": "Fira Code, PingFang SC, Microsoft YaHei"(macOS)或"Fira Code, Microsoft YaHei, SimSun"(Windows) - 关键点:数组写法是骗过系统字体回退机制,不是 Sublime 解析的;第一个字体负责英文和连字,后面按顺序兜底中文
- 禁用
subpixel_antialias:中文字体开启子像素抗锯齿反而模糊,尤其在 Windows 上 - 别信“装个中文字体插件就能解决”——99% 的所谓“中文字体插件”只是帮你装字体,真正起效的还是上面这个双字体组合
最常被忽略的一点:改完配置后,别只点「保存」就以为完事。Sublime 的字体缓存顽固得很,哪怕 JSON 完全正确,不彻底退出重开,侧边栏和连字大概率还是老样子。











