Sublime Text 不支持真正的字体连字渲染;其 "font_options": ["ligatures"] 仅是占位符,底层渲染引擎未实现 OpenType liga/calt 特性解析,macOS 和 Windows 均无稳定连字显示。

Sublime 能不能真正启用字体连字(ligatures)?
不能——至少在原生、无插件、跨平台一致的前提下,Sublime Text **不支持真正的字体连字渲染**。这是它和 VS Code、JetBrains IDE、Neovim GUI 的关键差异。你看到的 "font_options": ["ligatures"] 仅在 Sublime Text 4.4085+ 版本中被识别,但实际效果取决于底层渲染引擎(Core Text / DirectWrite / FreeType)是否配合,而目前 macOS 和 Windows 上均无稳定、可复现的连字显示行为。
为什么 Fira Code 在 Sublime 里看起来“没连上”?
常见现象:输入 !=、=>、=== 后,符号仍是分开的两个字符,没有合并为单个 glyph;字体册里预览正常,VS Code 里也正常,唯独 Sublime 不生效。
- Sublime 的文本渲染不读取 OpenType 的
liga(连字)或calt(上下文替换)特性表 -
"font_options": ["ligatures"]是个“占位符”设置,旧版本会忽略,新版本虽不报错,但无实际作用 - 即使加上
"font_feature_settings": {"liga": 1},Sublime 也不解析该字段(该字段在 Chromium/VS Code 中有效,但在 Sublime 中被完全忽略)
那怎么让 Fira Code 在 Sublime 里“尽量好看”?
放弃连字,转而优化字体清晰度、行距和视觉节奏,这才是 Sublime 下更务实的美化路径:
- 安装 Fira Code 后,在系统字体册中确认显示名称是
"Fira Code"(不是"FiraCode"或"Fira Code Regular") - 用户设置中写:
{ "font_face": "Fira Code", "font_size": 13, "font_options": ["subpixel_antialias"], "line_padding_top": 2, "line_padding_bottom": 2 } - Windows 用户务必开启 ClearType;macOS 用户避免设
font_antialiasing为"gray",默认即可 - 别信“装个插件就能开连字”的说法——目前没有任何成熟、维护中的 Sublime 插件能绕过渲染层实现 OpenType 连字
如果连字对你真那么重要,该怎么做?
这不是配置问题,是编辑器能力边界问题。真实可行的方案只有两个:
- 换用
VS Code:配"editor.fontLigatures": true+"editor.fontFamily": "'Fira Code'",开箱即用 - 坚持用 Sublime,就接受它“极简但不炫技”的定位——把精力放在主题、快捷键、侧边栏折叠、多光标操作等它真正擅长的地方
最容易被忽略的一点:很多人反复重装字体、改几十遍 font_options,却没意识到问题根本不在配置,而在 Sublime 自身的文本渲染架构。认清这一点,比调一百次设置更省时间。










