sublime中改字体需精确配置font_face和font_size两行json,字体名须与系统注册名完全一致,连字需配font_options:["ligatures"]且st4 build 4143+才稳定支持;行距用line_padding_top/bottom像素值调整;ui元素字体须修改.sublime-theme文件。

改字体不是换主题,也不是装插件,就是改两行 JSON:font_face 和 font_size。填错名字、大小写不对、多一个逗号,就静默失效——这是 90% 用户卡住的原因。
怎么让编辑区立刻用上等宽字体
Sublime 默认不保证等宽,中文发虚、1 和 l 对不齐,直接导致代码阅读出错。必须手动指定已安装的等宽字体全名,不能靠猜。
-
font_face值必须和系统字体注册名完全一致:Windows 填"Consolas"或"JetBrains Mono",macOS 填"SF Mono"或"Fira Code",Linux 填"DejaVu Sans Mono";"Fira Code"和"FiraCode-Regular"是两个不同注册名,得试 - 别填文件名(如
FiraCode-Regular.ttf)、别填显示名(如Fira Code Medium),也不接受空格缩写("Fira"不行) - 中英混排更稳的写法是数组:
"font_face": ["Fira Code", "Microsoft YaHei"],前面优先,缺字自动 fallback - 改完保存,不用重启,实时生效;但若没变,八成是字体名拼错了或根本没装
为什么连字(ligatures)死活不显示
装了 Fira Code 或 JetBrains Mono,但 != 还是分开显示,不是字体问题,是 Sublime 没开开关,而且旧版本根本不支持。
- 必须同时配三样:
"font_face": "Fira Code"、"font_size": 13(建议 ≥12)、"font_options": ["ligatures"] - ST4 Build 4143+ 才稳定支持;ST3 或老 ST4 即使配置对了,也只渲染部分符号(比如 ⇒ 出来,≠ 还是 !=)
- macOS 上若字体仍不生效,试试把
font_options改成["subpixel_antialias", "ligatures"],抗锯齿和连字得一起开 - 别信“Ligature Fonts”这类插件——Sublime 没开放 API,它们只是改个名字骗自己
怎么调出行距又不崩 UI 元素
Sublime 没有 line-height,line_spacing 字段在当前版本(ST4)已完全无效,写了等于白写。
- 真正起作用的是
line_padding_top和line_padding_bottom,单位是像素,不是倍数 - 常用组合:
"line_padding_top": 1+"line_padding_bottom": 1(连字字体推荐起步值);设到3已明显松快;超过5容易让括号高亮条变细、光标跳行不准 - 这两个值和
font_size独立计算,比如字号 14 + 上下各 2px,视觉行高 ≈ 18px - 如果用了深色主题,行距太大还会让折叠箭头、断点图标被“挤”得难以识别
侧边栏、命令面板字体怎么一起改
编辑区的 font_face 和 font_size 对侧边栏、标签页、命令面板(Quick Panel)完全无效——它们走的是 UI 主题渲染链,必须动 .sublime-theme 文件。
- 用
Preferences → Browse Packages…进入Packages/目录,找到你当前主题(比如Theme - Adaptive/或Default.sublime-package) - 用 PackageResourceViewer 插件打开主题资源,或手动解压
.sublime-package文件为文件夹 - 搜索
"class": "sidebar_label",在其对象里加"font.face": "Fira Code"和"font.size": 13;同理,tab_label控制标签页,quick_panel_label控制命令面板 - 改完必须重启 Sublime 才生效;第三方主题(如 Material Theme)常会覆盖你的修改,建议在
Packages/User/下建同名文件覆盖,而非直接改原主题
最常被忽略的一点:所有 UI 层字体修改(侧边栏、命令面板、状态栏)都不受 font_options 控制,["bold"] 或 ["ligatures"] 在主题文件里写了也无效——UI 渲染引擎根本不读这个字段。











