sublime 的行间距应使用 line_padding_top 和 line_padding_bottom 精确控制,因 line_height 在 st4 中行为不稳定:小数值被忽略、整数值易被主题/插件/语法设置覆盖且静默失效;常见失效原因包括误改只读默认设置、json 格式错误及主题硬编码 line_height。

Sublime 的行间距只能靠 line_padding_top 和 line_padding_bottom 精确控制,line_height 在多数版本中已不可靠,设了也可能静默失效。
为什么 line_height 经常不生效?
它在 Sublime Text 4 中行为不稳定:设为小数(如 1.4)时不会按倍数计算,而是被忽略;设为整数(如 20)虽可能起作用,但会被主题(如 Soda、ayu)、插件(如 Origami)或语法专属设置(Python.sublime-settings)强行覆盖。更麻烦的是,它不报错,只静默跳过。
常见失效场景包括:
- 改在了左侧
Default Settings面板(只读,升级即清空) - JSON 格式错误:中文引号、末尾多逗号、缩进不合法
- 当前主题的
.sublime-theme文件里硬编码了"line_height": 0
真正起作用的配置是 line_padding_top 和 line_padding_bottom
这两个参数直接控制每行文字上方和下方的像素级空白,加起来就是你看到的“行距增量”,且所有 Sublime 版本(3/4)都稳定支持。
实操建议:
- 新手起步可设为
"line_padding_top": 3, "line_padding_bottom": 3,视觉等效 +6px 行距,14–16px 字体下最平衡 - 想缓解视觉压迫感,可不对称设置,例如
"line_padding_top": 4, "line_padding_bottom": 2,让文字略下沉 - 绝对不要只设其中一个为 0(如只设
top),否则光标对齐错乱、折叠标记偏移 - 等宽字体(Fira Code、JetBrains Mono)纵向密度高,建议比默认多加 0.5–1px,比如从 3/3 改为 4/3
改完没反应?优先检查这三处
90% 的“调了没用”问题不是参数错了,而是加载路径出了岔子:
- 确认修改的是
Preferences → Settings右侧「User Settings」面板,不是左侧 Default - 检查
Preferences → Settings – Syntax Specific(如Python.sublime-settings)是否也写了line_padding_*,它会覆盖全局 - 临时切换成内置主题
Adaptive测试——如果这时生效,说明原主题在.sublime-theme里强制重置了这些值
别忘了编辑区外的“行距”要另配
line_padding_top 和 line_padding_bottom 只影响代码编辑区,对侧边栏、标签页、行号栏(Gutter)完全无效。
这些区域需手动编辑主题文件:
- 用
PackageResourceViewer插件打开当前主题的.sublime-theme - 搜
"class": "sidebar_tree",添加或修改"row_padding": [8, 4](第二个数字是垂直间距) - 搜
"class": "tabset_control"调标签页高度,搜"class": "gutter"调行号栏内边距
主题文件是 JSON 数组,不是对象,结构必须合法;保存后 Sublime 自动重载,但部分改动需切 Tab 或按 Ctrl+R 刷新视图才稳定显示。











