sublime text不提供中文字体包,需先在系统安装字体(如microsoft yahei),再于设置中严格按系统注册的英文全名配置font_face;写错大小写、空格或未刷新缓存均导致fallback至默认字体。

Sublime Text 本身不提供“中文字体包”这种东西,它只调用系统已安装的字体。所谓“安装中文字体”,本质是两步:先在操作系统里装好字体文件(如 Microsoft YaHei、Noto Sans CJK SC),再在 Sublime 的设置里**准确写出该字体的英文全名**——写错一个字符、大小写不对、多空格或用中文名,都会 fallback 到默认字体,显示为方块或发虚。
怎么确认系统里真有这个中文字体?
Sublime 不会帮你识别或安装字体,必须靠系统级验证:
- Windows:打开「设置 → 蓝牙和其他设备 → 字体」,搜索
Microsoft YaHei(不是“微软雅黑”);若没出现,右键 .ttf 文件 → “为所有用户安装” - macOS:双击字体文件 → 点「安装字体」→ 确保目标是「电脑」而非「当前用户」;然后打开「字体册」,搜索
STHeiti或Noto Sans CJK,看是否状态为「已启用」 - Linux:终端执行
fc-list :lang=zh,输出里必须包含你想要的字体英文名(如WenQuanYi Micro Hei),否则要先复制 .ttf 到~/.fonts/并运行fc-cache -fv
Sublime 设置里怎么写字体名才有效?
字体名必须和系统注册的一模一样,大小写、空格、连字符都不能错。常见错误包括把 Microsoft YaHei 写成 Microsoft Yahei 或 yahei:
- 打开
Preferences → Settings,编辑右侧的Preferences.sublime-settings — User - 添加或修改
"font_face"字段,值为字符串(不是数组):"font_face": "Microsoft YaHei" - 如果想备选(比如主字体缺字时 fallback),用数组写法:
"font_face": ["Microsoft YaHei", "Monaco", "Consolas"] - 别写
"font_family"(这是旧版 ST2 的字段,ST4 已弃用)、也别加.ttf后缀或路径
为什么设置了还是显示方块或英文?
这不是 Sublime 的 bug,而是字体链断裂的典型表现:
- 字体名拼写错误最常见:查系统字体册/命令行输出,**严格复制粘贴**,不要手打
- 字体未被系统完全加载:Windows 重启资源管理器,macOS 重启「字体册」,Linux 重跑
fc-cache -fv - 编码不匹配:确保文件本身是 UTF-8 编码(
File → Reopen with Encoding → UTF-8),否则中文内容即使字体对了也乱码 - 某些 UI 插件(如
Origami)会覆盖字体设置,临时禁用它们可快速验证是否冲突
真正卡住人的地方,从来不是 Sublime 设置本身,而是系统字体注册这一步——很多人以为双击安装完就万事大吉,其实 macOS 和 Linux 对字体来源很挑剔,Windows 的「仅当前用户安装」也会导致 Sublime 找不到。务必用系统原生工具确认字体名存在且可用,再动 Sublime 的配置。











