sublime text中font_face必须与系统注册字体全名完全一致,否则静默失效;不支持字体回退列表,连字需依赖系统渲染而非编辑器配置。

Sublime Text 里填的 font_face 必须和系统字体册注册名完全一致
填错名字是 Sublime 加载不了 JetBrains Mono 的最常见原因。它不认文件名(比如 JetBrainsMono-Regular.ttf),也不认你肉眼看到的“显示名”(比如带括号或空格的变体)。它只认操作系统字体管理器里注册的正式全名。
验证方式很简单:在 macOS 上打开「字体册」,搜索 JetBrains Mono,看左侧列表里显示的是什么;Windows 用户可在「设置 > 字体 > 字体设置」里搜索确认;Linux 用户可运行 fc-list | grep -i "jetbrains" 查看实际注册名。
- 常见错误写法:
"font_face": "JetBrainsMono"、"font_face": "JetBrains Mono Regular"、"font_face": "JetBrainsMono-Regular" - 正确写法(以 macOS 和多数 Linux 发行版为准):
"font_face": "JetBrains Mono" - 如果系统里注册的是
JetBrainsMono(无空格),那就必须写成"font_face": "JetBrainsMono",大小写也需严格匹配
Sublime 不支持字体回退列表,font_face 只能写一个名字
VS Code 可以写 "editor.fontFamily": "'JetBrains Mono', Consolas, monospace",但 Sublime 不行。它的 font_face 是单值字符串,一旦填的名字系统里不存在,就会静默 fallback 到默认字体(通常是 Courier 或 DejaVu Sans Mono),且不会报错、不提示。
- 别指望用逗号分隔多个字体来兜底
- 如果想兼顾中英文,推荐直接换用原生支持中文的等宽字体,比如
霞鹜文楷等宽—— 它在 Sublime 中只需写"font_face": "霞鹜文楷等宽",无需额外配置 - 若坚持用 JetBrains Mono 写中文注释,建议搭配输入法或编辑器插件处理中文渲染,而非依赖字体本身
font_size 和连字支持需要手动开启,但 Sublime 默认不启用 ligatures
JetBrains Mono 的连字(如 ==> → ⟹)在 Sublime 里不会自动生效。它不像 VS Code 那样有 editor.fontLigatures 设置项。Sublime 的连字支持依赖底层渲染引擎(Core Text / DirectWrite / FreeType)和字体本身的特性开关,目前稳定版不提供用户可控的 ligature 开关。
- 如果你看到连字,大概率是系统级渲染自动触发的(macOS 较常见),不是 Sublime 主动启用的
- 不要在配置里加
"font_options": ["liga"]这类无效字段 —— Sublime 不识别该参数,也不会报错,只是被忽略 -
font_size建议设为14或15,JetBrains Mono 的 x-height 较大,比 Consolas 同字号下更“撑”,过小会损失可读性
配置保存后没生效?先检查字体是否真装进了系统
很多人以为双击安装完就万事大吉,其实不同系统对“安装”的定义不同。Sublime 读取的是系统字体缓存,不是文件路径。
- macOS:双击 .ttf/.otf 后务必在字体册里点「安装字体」,并确保状态是「已安装」而非「仅限当前用户」
- Windows:右键安装后,重启 Sublime;若仍不行,尝试用管理员权限重新安装字体
- Linux:把 .ttf 放进
~/.local/share/fonts/后,必须运行fc-cache -f -v刷新缓存,否则 Sublime 看不见 - 验证方法:打开任意支持自定义字体的系统应用(如 TextEdit、记事本),看能否从字体菜单里选中 JetBrains Mono











