能,Sublime Text 从 Build 4126+ 通过 font_options 有限支持连字,需正确配置字体名(如"FiraCode-Regular")、font_options 数组(["liga", "subpixel_antialias"])并重启编辑器。

Sublime Text 真的能显示连字吗?
能,但有前提:必须用对字体、写对配置、且系统渲染层配合——不是装了 Fira Code 就自动生效。Sublime 的底层渲染引擎不原生支持 OpenType liga 特性,但它在较新版本(Build 4126+)中通过 font_options 有限启用了部分连字支持,前提是字体本身已内嵌连字形且系统能正确加载。
怎么配 font_options 才让连字真正出现
关键不在“加不加”,而在“加什么、怎么加、加在哪”。很多用户复制了 "liga" 却没效果,是因为:
-
"font_options"必须是字符串数组,不能写成"liga"(单字符串)或["liga", "subpixel_antialias"](顺序错可能被忽略) - Fira Code 的连字依赖字体变体名匹配,推荐显式使用
"FiraCode-Regular"或"FiraCode-Retina",而不是笼统写"Fira Code"(空格易导致识别失败) - macOS 上
"subpixel_antialias"可能干扰连字渲染,建议换用"gray_antialias";Windows/Linux 则优先保留"subpixel_antialias"
正确配置示例(粘贴到 Preferences → Settings 右侧用户设置中):
{
"font_face": "FiraCode-Regular",
"font_size": 13,
"font_options": ["liga", "subpixel_antialias"]
}
为什么测试连字总是不显示
常见失效场景和排查点:
- 系统没真正安装字体:Windows/macOS 要确认字体册/字体管理器里能搜到
FiraCode-Regular;Linux 运行fc-list | grep -i fira验证 - 配置写在了左侧默认设置里:Sublime 只读取右侧「Settings – User」,左侧改了等于没改
- 用了带空格或特殊字符的字体名但没加引号:比如
Fira Code必须写成"Fira Code",但更推荐无空格的变体名避免歧义 - 编辑器未重启:改完设置后必须完全退出 Sublime(不只是关窗口),再重开才生效
快速验证连字是否就位:新建文件,输入 != == => --> ,如果看到合并后的符号(如 ≠、⇒、→),说明成功;否则就是某一步断在了字体链路上。
连字 vs 等宽字体:别为了连字牺牲可读性
连字只是视觉糖,不是功能增强。Fira Code 的连字设计集中在运算符上,但某些连字(如 /* 合并为注释起始符号)反而会干扰语法高亮识别,尤其在老旧插件或自定义语法定义下。
- 如果你用的是 BracketHighlighter、TrailingSpaces 等依赖字符边界的老插件,连字可能导致光标定位偏移或匹配异常
- 团队协作时,确保所有成员都启用相同配置,否则同一段代码在不同人屏幕上呈现宽度不一致,diff 工具可能误报变更
- 真要兼顾美观与稳定,可考虑 Cascadia Code(微软开源,连字更克制)或 JetBrains Mono(连字开关更细粒度)作为替代
最常被忽略的一点:连字是否开启,不影响代码执行、编译或调试——它纯属显示层行为。别在 CI 流水线或远程服务器上折腾这个,只在本地 GUI 编辑器里调。

















