编辑区字体大小和行间距需在user settings中设font_size(纯数字px,12–16最佳)与line_padding_top/bottom(各2–3px),ui元素字体须通过ui_font_size(st4.4277+)或修改主题文件实现,连字需st4+、正确字体名及font_options:"liga",字间距不可调。

编辑区字体大小和行间距能直接在用户设置里改,但必须写对字段名、单位和位置;侧边栏、标签页、命令面板等 UI 元素不认 font_size,得走别的路。
编辑区字体大小怎么设才真正生效
只改 font_size 和 font_face 就够了,但必须写在 Preferences → Settings 右侧的「User Settings」里,且 JSON 格式合法:
-
font_size是纯数字(单位 px),12–16 最稳;小于 10 在高分屏上边缘发虚,大于 20 容易顶到上下行、折叠箭头错位 -
font_face必须填系统已安装的等宽字体全名,比如"Fira Code"、"JetBrains Mono"——不是文件名(FiraCode-Regular.ttf),也不是带空格的显示名(部分系统要写成"FiraCode-Regular") - 改完保存即刷新,不用重启;但如果没反应,先确认没误改左侧 Default 面板(那是只读的)
行间距不是 line-height,而是 line_padding_top + line_padding_bottom
Sublime 没有 CSS 式的 line-height,真正控制视觉行距的是两个独立像素值:
-
line_padding_top和line_padding_bottom分别控制每行文字上方和下方的空白(单位 px),加起来才是你看到的“行间距” - 常见组合:
"line_padding_top": 2, "line_padding_bottom": 2(轻量呼吸感),或"line_padding_top": 3, "line_padding_bottom": 3(14–16px 字体下最清晰) - 别用
line_spacing——它在 ST3/ST4 中已被弃用,写了也无效 - 设太大(如 >5)会导致括号匹配高亮条变细、光标跳行不准、折叠箭头错位
侧边栏、标签页、状态栏字体为啥不跟着 font_size 变
因为 font_size 只作用于编辑区;UI 元素走另一套逻辑,且版本差异大:
- Sublime Text 4.4277+ 才支持
ui_font_size,且只影响菜单栏、侧边栏、标签页——但它不适用于 ST3 - ST3 必须手动改主题文件:Preferences → Browse Packages… → 进入
Theme - Default/或你当前主题目录 → 编辑Default.sublime-theme(或对应主题文件) - 搜索
"class": "sidebar_label",在里面加"font.size": 14;同理,找"class": "tab_label"改标签页字体 - 改完需完全退出 Sublime 并重启,否则不生效;第三方主题(如 Material Theme)可能覆盖你的修改,得用 PackageResourceViewer 提取后覆盖
为什么连字或字间距调不出来
连字(ligature)和字间距(letter-spacing)是两回事,但都容易踩坑:
- 连字需要三要素齐备:
font_face匹配字体内部名、font_options含"liga"、ST4 Build 4143+;ST3 基本不支持稳定连字 - 字间距根本不可调——Sublime 渲染引擎没提供
letter_spacing类参数,这不是隐藏功能,是底层限制 - 想改善字符疏密感,只能换字体(如
"Cascadia Code"比"Consolas"更宽松)或微调font_size间接影响视觉密度 - 别信所谓“启用连字”的插件,Sublime 没开放对应 API,这类插件只是改字体名或骗自己
最容易被忽略的是:所有 UI 层修改(侧边栏、标签页、命令面板)都依赖主题文件,而这些文件一旦被插件或主题更新覆盖,你的配置就没了;建议用 PackageResourceViewer 提取后单独存档,而不是直接改原路径下的文件。











