Sublime Text字体不生效主因是系统字体缓存未刷新:Linux需运行fc-cache -fv,macOS须依次执行sudo atsutil server -shutdown、databases -remove、server -restart并重启系统,Windows应“为所有用户安装”字体并确认其在字体设置中显示。

Sublime Text字体不生效,大概率是缓存没刷新
Sublime Text 本身不管理字体缓存,它完全依赖操作系统级的字体注册状态。你装好了 .ttf 或 .otf 文件、也改了 font_face 设置,但界面还是默认字体——不是 Sublime 坏了,是系统还没“认出”这个新字体。必须手动触发对应平台的缓存重建,否则 Sublime 就一直 fallback。
Linux 下必须运行 fc-cache -fv
Linux 不像 Windows/macOS 有图形化字体管理器,字体路径和缓存全靠 fontconfig 维护。只把字体文件丢进 ~/.fonts/ 或 /usr/local/share/fonts/ 是不够的:
-
fc-cache -fv是唯一有效命令;-f强制重建,-v显示过程,缺一不可 - 若字体装在
~/.fonts/,执行前确保目录权限可读(chmod 755 ~/.fonts) - 执行后检查输出里是否出现你字体的路径和名称,例如
/home/user/.fonts/LxgwWenKaiMono-Regular.ttf: "Lxgw WenKai Mono":0 - 别信“重启终端就生效”,必须重启 Sublime Text 才会重新读取 fontconfig 缓存
macOS 需要三步 ATS 服务重置
macOS 的字体缓存分层更深,仅删 ~/Library/Caches/com.apple.ATS 或点「字体册」里的“重建”按钮,大概率无效:
- 打开终端,**严格按顺序**执行三条命令:
sudo atsutil server -shutdown→sudo atsutil databases -remove→sudo atsutil server -restart - 执行完不要立刻开 Sublime,先重启 Mac —— 否则开机时字体索引可能不完整
- 验证方式:在「字体册」里搜索字体全名(比如
Lxgw WenKai Mono),状态必须是“已启用”,且双击预览能正常显示中英文 - 如果用 Homebrew 装了
fontconfig(如通过brew install fontconfig),额外补一句fc-cache -fv更稳妥
Windows 一般不用手动刷缓存,但要注意安装方式
Windows 字体缓存由系统自动维护,通常装完就能被 Sublime 识别,但有两个关键动作不能跳过:
- 右键字体文件 → 选择“为所有用户安装”(不是“为当前用户安装”),否则 Sublime 可能因权限问题读不到
- 安装后打开「设置 → 个性化 → 字体」,确认字体已列出,且显示的名称就是你要填进
font_face的全名(比如Microsoft YaHei,不是“微软雅黑”) - 如果仍不生效,重启 Windows 资源管理器(任务管理器 → 重启
explorer.exe)比重启整机更快,Sublime 会随之更新字体列表


















