sublime text 的行间距通过 line_padding_top 和 line_padding_bottom 控制,二者之和决定视觉行距;需在 preferences → settings – user 中配置整数像素值,保存后立即生效,但可能受主题或字体影响。

Sublime Text 的行间距怎么调?line_padding_top 和 line_padding_bottom 是关键
Sublime Text 没有“行高”这个直观设置,实际靠两个独立参数控制视觉行距:line_padding_top 和 line_padding_bottom。它们加起来才是你看到的行与行之间的空白高度。
修改方式是编辑用户配置(Preferences → Settings – User),添加或调整这两项:
{
"line_padding_top": 3,
"line_padding_bottom": 3
}
- 值为整数,单位是像素,支持
0(紧凑)到8左右(宽松),超过10就容易显得割裂 - 两者可以不同,比如
"line_padding_top": 2, "line_padding_bottom": 4能让文字“坐得更低”,适合某些字体渲染偏高的情况 - 改完保存后立即生效,无需重启;但若同时开了多套主题或用了
font_face自定义字体,可能需要刷新视图(Ctrl+R或切 Tab)才稳定显示
字间距(letter-spacing)在 Sublime 里根本不可调
Sublime Text 的渲染引擎不支持 CSS 那样的 letter-spacing,也没有任何原生配置项能改变字符间的横向间隙。这不是隐藏功能,是底层限制。
常见误解来源:
- 有人误把等宽字体本身的字宽当“字间距”,其实那是字体设计决定的,换字体(比如从
Consolas换成Fira Code)才能感知差异 - 试图用
font_options加subpixel_antialias或no_bold等参数影响字形,对字间距完全无效 - 第三方插件如
Font Adjuster实际也只是模拟缩放,并不能真正调节字符间空隙
为什么改了 line_padding_* 却没变化?检查这三处
配置写了但没反应,大概率卡在这几个地方:
- 配置写在了错误文件里:必须是
Preferences → Settings – User,而不是Settings – Syntax Specific或插件自己的 JSON - JSON 格式错误:多了一个逗号、少了一个引号、用了中文标点——Sublime 会静默忽略整个配置块,打开
Console(Ctrl+`)能看到类似error parsing settings: expected value in Packages/User/Preferences.sublime-settings的提示 - 被主题覆盖:某些 UI 主题(尤其是自定义的
.sublime-theme)会硬编码行内 padding,此时需手动编辑主题文件,或换回默认主题验证是否是主题问题
字体大小和行距的配合比数值更重要
font_size 和 line_padding_* 不是线性关系。比如 font_size: 12 时设 line_padding_bottom: 4 很舒服,换成 font_size: 14 后同样的 4 就可能显挤。
实操建议:
- 先固定
font_size,再微调line_padding_*,每次只动1px做对比 - 如果常用大字号(≥15),建议把
line_padding_top设得略小于bottom,避免光标贴顶、行首文字被裁剪 - 高 DPI 屏幕上,系统缩放 + Sublime 缩放(
ui_scale)可能让 padding 视觉失真,此时优先调系统级缩放,而非堆 padding 值
行距这事,调到眼睛不累、扫读不串行,就是到位了。别信“黄金比例”,信你自己盯着看十分钟后的直觉。










