sublime的line_height必须设为正整数像素值(如22),小数、字符串或0均无效;line_padding_top/bottom可微调行间空白但与line_height互斥;修改须在user settings中,且需排除主题或语法专属设置覆盖。

line_height 设为像素值才真正起效
Sublime 的“行高”不是 CSS 那套倍数逻辑,line_height 必须设为正整数(单位 px),比如 "line_height": 22,它直接控制两行文字基线之间的距离。设为小数(如 1.4)在新版中已不被识别;设为 0 会交还给字体默认度量,但结果不稳定,尤其中文标点容易被裁切。
常见错误现象:值写成字符串("line_height": "22")、漏掉引号、或误用 CSS 倍数思维。推荐范围是 18–24(配 font_size 12–16),例如:"font_size": 14 搭配 "line_height": 21 视觉较平衡。
- 必须写在 Preferences → Settings 右侧「User Settings」里,左侧 Default 是只读的
- JSON 格式要合法:末尾不能多逗号,引号必须是英文双引号
- 某些主题(如 Theme - Soda)或插件(如 Origami)会硬覆盖该值,临时禁用可验证是否被干扰
line_padding_top / line_padding_bottom 更适合微调“呼吸感”
如果只想让行间松一点、又不想动基线距离,line_padding_top 和 line_padding_bottom 是更底层、更可控的选择。它们单位也是像素,分别控制每行文字上方和下方的空白,加起来才是你看到的“额外行距”。
默认都是 0,所以新装 Sublime 显得特别挤。设成 "line_padding_top": 3, "line_padding_bottom": 3 就等效于 +6px 行高,且不影响折叠箭头、断点图标的位置精度。
- 两个值可以不对称:比如
"line_padding_top": 2, "line_padding_bottom": 4让文字视觉下沉,缓解长时间阅读压迫感 -
line_height和line_padding_*是互斥的——只要line_height非零,line_padding_*就会被忽略 - 设太大(>5)会导致折叠标记偏移,尤其在深色主题下容易被忽略
为什么改了没反应?先查这三处
90% 的“调了没用”不是参数错,而是加载路径或覆盖逻辑问题。
- 确认修改的是右侧 User Settings,不是左侧 Default Settings(升级后会被清空)
- 检查是否在语法专属设置里(Preferences → Settings – Syntax Specific)也写了
line_height或line_padding_*,它会优先覆盖全局设置 - 某些主题(如 ayu、Soda)在自己的
.sublime-theme文件里强制重置line_height,临时切换成 Adaptive 主题测试是否生效
侧边栏、标签页、行号栏的行距要另配
line_height 和 line_padding_* 只影响代码编辑区,对左侧文件树、顶部标签页、行号栏(gutter)完全无效。这些区域的行高由当前主题的 .sublime-theme 控制。
想调侧边栏行距,需用 PackageResourceViewer 打开当前主题文件,搜索 "class": "sidebar_tree",添加或修改 "row_padding": [8, 4](第二个数字是垂直间距);同理,"class": "tabset_control" 控制标签页高度,"class": "gutter" 控制行号栏内边距。
字体本身不支持 letter-spacing,强行调 font_options 效果差还易模糊——换 Fira Code、JetBrains Mono 这类编程字体,比折腾参数更实际。











