根本原因是macos mojave起禁用次像素抗锯齿,sublime text依赖core text渲染,在非retina屏且未启hidpi时退化为灰阶抗锯齿,导致字体发虚;需执行defaults write -g applefontsmoothing -int 2、设font_options为["gray_antialias"]、启用hidpi缩放并重启应用。

为什么Mac上Sublime Text在非Retina屏会发虚
根本原因不是字体本身,而是 macOS 自 Mojave 起默认禁用次像素抗锯齿(subpixel antialiasing),而 Sublime Text 依赖系统 Core Text 渲染——当外接显示器物理像素密度低(如 1080p/2K 普通屏)、又没启用 HiDPI 缩放时,Core Text 退化为灰阶抗锯齿(grayscale AA),笔画边缘失去横向亚像素定位能力,导致中文字形“毛边”、英文小写字母“糊团”。
必须执行的系统级字体平滑启用
仅改 Sublime 设置无效,第一步永远是激活系统级灰度抗锯齿:
- 打开终端,运行:
defaults write -g AppleFontSmoothing -int 2(推荐强度,-int 1太细,-int 3过重易糊) - 完全退出所有 GUI 应用:菜单栏 →「苹果图标 > 注销」,或至少重启 Finder 和 Sublime Text
- 验证是否生效:打开 TextEdit,输入“苹方-简”“思源黑体 CN”,观察 12–14pt 下横竖笔画过渡是否均匀柔化而非硬边锯齿
Sublime 用户设置里只留 ["gray_antialias"]
macOS 上绝不能出现 no_antialias 或 subpixel_antialias——前者强制关抗锯齿,后者在非 Retina 屏上反而因子像素错位加重虚化:
- 打开
Preferences → Settings,右侧用户 JSON 中只保留这一行:"font_options": ["gray_antialias"] - 删掉任何
"font_options": ["no_antialias"]或含subpixel的数组,哪怕注释掉也不行 - 确保
font_size≥11.5(例如12.0),低于 11.0 时 Core Text 会自动降级为无抗锯齿 - 改完后必须通过菜单栏「Sublime Text → 退出」彻底关闭进程,热重载不重置渲染管线
侧边栏和 UI 字体模糊?别动 font_size
font_size 只控制编辑区,侧边栏、标签页、菜单字体由 UI 主题定义,强行调大会导致布局错乱:
- 路径:
Packages/Theme - Default/Default.sublime-theme - 搜索
"class": "sidebar_label"或"class": "tab_label" - 在其所在 block 内添加或修改:
"font.size": 13(数值建议 12–14,避免超过 16) - 第三方主题(如
ayu、Material Theme)常在自己的.sublime-theme文件里硬编码font_options,需一并搜索删掉
真正卡住效果的往往是 HiDPI 缩放没开——外接非 Retina 屏必须按住 Option 键点「缩放」才能看到带 (HiDPI) 的选项,选它,否则所有字体优化都建立在 1:1 像素映射的劣质基础上。











