在 Sublime Text 中改字体只需修改用户配置中的 font_face 和 font_size:Windows 用 "Microsoft YaHei",macOS 用 "SF Mono",Linux 用 "DejaVu Sans Mono";连字字体需加 "font_options": ["ligatures"];中英混排推荐数组写法如 ["Microsoft YaHei", "Fira Code"]。

怎么在 Sublime Text 里改字体(不是改主题)
Sublime Text 默认用的不是等宽字体,中文显示发虚、代码对不齐,直接改 font_face 就行,不用动主题文件或装插件。
关键就两步:找到用户配置、填对字体名。Windows/macOS/Linux 的字体名写法不一样,填错就回退到默认字体,还不报错——这是最常卡住的地方。
- 打开
Preferences → Settings – User,编辑右侧 JSON 面板 - 加这两行(注意逗号位置,别破坏 JSON 结构):
"font_face": "Fira Code", "font_size": 13
- 中文字体要额外加英文名,比如「微软雅黑」得写成
"Microsoft YaHei";macOS 上用"SF Mono"或"Menlo";Linux 常用"DejaVu Sans Mono" - 如果用了连字字体(如 Fira Code、JetBrains Mono),记得开启
"font_options": ["ligatures"],否则连字不生效
为什么改了 font_face 没反应
不是配置没保存,是字体名拼错了,或者系统根本没装这个字体。Sublime 不校验字体是否存在,错就默默用回 Consolas(Windows)或 Monaco(macOS)。
- Windows 下查已安装字体:进
C:\Windows\Fonts,看文件名(不是显示名),比如fira_code.ttf对应字体名是Fira Code - macOS 终端执行
system_profiler SPFontsDataType | grep -A 2 "Fira"查真实名称 - Linux 用
fc-list : family | grep -i mono看可用等宽字体列表 - 字体名含空格必须加引号,
"Cascadia Code"对,Cascadia Code错
font_options 有哪些实用值
这个字段控制字体渲染细节,不是所有值都跨平台生效,乱加反而让中文更糊。
-
["subpixel_antialias"]:Windows 必开,关了字边缘发灰;macOS 反而建议去掉(系统自带优化更好) -
["no_round"]:避免小字号下字符被压缩变形,适合font_size≤ 12 的场景 -
["ligatures"]:只对支持连字的字体有效,且需字体本身启用(比如 Fira Code 要装带 ligatures 的版本) - 不要写
["antialias"]—— Sublime 已弃用,写了没效果
中英混排时字体 fallback 怎么配
Sublime 不支持 CSS 那种多字体 fallback 链,但可以用数组模拟:把中文字体放前面,英文字体放后面,靠系统自动切。
- 推荐写法:
"font_face": ["Microsoft YaHei", "Fira Code"]
(Windows)或"font_face": ["PingFang SC", "SF Mono"]
(macOS) - 顺序很重要:前面字体缺字时才用后面的,所以中文字体必须在前,否则英文正常、中文变成方块
- 别写全路径(如
C:/...),Sublime 不认;也别加.ttf后缀 - 改完立刻
Ctrl+Shift+P → Reload Settings,不用重启软件
真正麻烦的是字体渲染和 DPI 缩放的交互——高分屏上 font_size 设 13 可能比 12 还模糊,这时候得配合系统缩放设置调,不是单改配置能解决的。









