Sublime Text 字体配置需严格匹配系统注册名,连字需 font_options:["ligatures"] 且 ST4.4143+,行高用 line_padding_top/bottom 而非 line_spacing,侧边栏字体须修改 .sublime-theme 文件。

font_face填错名字就完全失效,不是“没反应”而是根本没加载
Sublime Text 不会报错,但只要 font_face 值和系统注册的字体全名有一个字符不一致,就会静默 fallback 到默认字体(通常是 Courier New 或 Monospace)。常见错误包括:
- 填了文件名:
"FiraCode-Regular.ttf"(错)→ 应该是"Fira Code"或"FiraCode-Regular"(取决于系统注册名) - 大小写/空格/连字符不匹配:macOS 中
"SF Mono"有效,"sf mono"或"SF-Mono"无效 - 中文系统里填“微软雅黑”(错)→ 必须填英文注册名
"Microsoft YaHei" - Linux 下未刷新字体缓存,即使装了
"Noto Sans CJK SC",也得先运行fc-cache -fv
验证方式:打开系统字体管理工具(Windows 字体设置、macOS「字体册」App、Linux 终端执行 fc-list | grep -i "fira"),复制显示的**完整名称**,一个空格都不能少。
ST4 连字必须配 font_options:["ligatures"],且 Build 4143+ 才稳定
装了 Fira Code 或 JetBrains Mono 却看不到 != → ≠、=> → ⇒,不是字体没装好,是 Sublime 没开开关,或版本太旧。
- 必须三者同时满足:
"font_face": "Fira Code"+"font_size": 13(建议 ≥12)+"font_options": ["ligatures"] - macOS 用户若仍不生效,可试
["subpixel_antialias", "ligatures"],抗锯齿和连字需一起启用 - ST3 或 ST4 ≠ 可能出来,
≥还是>= - 别信叫 “Ligature Fonts” 的插件——Sublime 没开放 API,这类插件只是改个字体名骗自己
行距不能用 line-spacing,得靠 line_padding_top/bottom 像素值硬调
line_spacing 在当前所有稳定版(ST4.4277+)中已完全无效,写了等于白写。真正起作用的是两个独立像素字段:
-
line_padding_top和line_padding_bottom,单位是 px,不是倍数 - 常用组合:
"line_padding_top": 1+"line_padding_bottom": 1(连字字体起步值);设到 3 已明显松快 - 超过 5 容易导致括号高亮条变细、断点图标被“挤”出可视区,尤其在深色主题下极易忽略
- 它们与
font_size独立计算,例如字号 14 + 上下各 2px → 视觉行高 ≈ 18px
侧边栏、标签页字体必须改 .sublime-theme 文件,用户设置对它完全无效
你改了 font_face 发现代码区变了,但左侧文件树还是小得费眼——这不是配置没生效,是 Sublime 根本就没设计让侧边栏读这个字段。它走的是 UI 主题渲染路径,和编辑器正文完全两套系统。
- 路径:Preferences → Browse Packages… → 进入当前启用的主题目录(如
Theme - Default/或Material Theme/) - 找
Adaptive.sublime-theme或对应主题文件,用 PackageResourceViewer 插件更安全(避免更新覆盖) - 搜索
"class": "sidebar_label",在其 rule 里加:"font.face": "Fira Code"和"font.size": 13 - 改完必须完全退出 Sublime(macOS 要从菜单栏选「退出」,不是关窗口),否则缓存不刷新
UI 缩放最省事的方式是 ST4.4277+ 新增的 ui_font_size 全局配置项,但仅限缩放比例统一的场景;精细控制仍得硬改 theme 文件。


















