Sublime Text中真正生效的行距控制方式仅有line_height和line_padding_top/line_padding_bottom;前者设基线间距(像素或font_size倍数),后者精确控制上下留白像素,二者均只作用于编辑区且须在用户设置中配置。

line_height 和 line_padding_top/line_padding_bottom 是 Sublime Text 中唯二真正生效的行间距控制方式,其他任何尝试(比如改 margin、注入 CSS、调 letter_spacing)都无效或只影响非编辑区。
用 line_height 设绝对像素或相对倍数(最常用)
这个参数直接决定两行文字基线之间的距离,单位是像素,也支持小数(如 1.45),此时会乘以当前 font_size 后四舍五入取整。
- 设为
0表示交还给字体自身度量,不是“无间距” - 中英文混排建议优先用小数,避免中文标点被裁切(比如句号下半部分消失)
- 等宽字体下常见舒适值:
font_size14 →line_height19~21;16 → 22~24 - 避免奇数值(如 17、23),部分字体渲染下光标线会轻微上下偏移,长时间看易疲劳
- 改完保存即生效,但若同时开了多个窗口,可能需手动切换 Tab 或按
Ctrl+R刷新视图
用 line_padding_top 和 line_padding_bottom 精控上下留白(更底层)
这两个参数才是真正控制“每行文字上下空白”的像素级开关,加起来才是你看到的视觉行距增量。它不依赖字体度量,也不受中英文混排影响,但对齐副作用更明显。
- 值可不对称:比如
"line_padding_top": 4, "line_padding_bottom": 2让文字整体下沉,缓解视觉压迫感 - 等宽字体(如 Fira Code、JetBrains Mono)纵向密度高,建议比默认多加 0.5~1px(例如从 3/3 改为 4/3)
- 单侧设为 0(如只设
top)会导致光标对齐错乱、折叠标记偏移,务必成对调整 - Windows/macOS/Linux 渲染器不同(GDI/Core Text/FreeType),同一组值在不同系统上实际行距可能差 1~2px
为什么改了没反应?重点检查这三处
绝大多数“调了没用”问题出在配置加载优先级或作用域上,而不是参数本身。
- 确认修改的是 Preferences → Settings 右侧「User Settings」面板,左侧 Default 是只读的,改了也会被升级清空
- 检查是否有语法专属配置干扰:Preferences → Settings – Syntax Specific(比如 Python.sublime-settings)里也写了
line_height,它会覆盖全局设置 - 某些主题(尤其是老版本 ayu、Soda)会在自己的
.sublime-theme文件里强制重置line_height,临时切换成 Adaptive 主题测试是否生效
侧边栏、标签页、行号栏的行距要另配
line_padding_top 和 line_padding_bottom 只影响代码编辑区,对左侧文件树、顶部标签页、行号栏(Gutter)完全无效。这些区域的行高由当前主题(.sublime-theme)控制。
- 先装 PackageResourceViewer,再按
Ctrl+Shift+P→ 输入PackageResourceViewer: Open Resource→ 选当前主题 - 搜索
"class": "sidebar_tree",添加或修改"row_padding": [8, 4](第二个数字是垂直间距) - 同理,搜索
"class": "tabset_control"调标签页高度;搜索"class": "gutter"调行号栏内边距

















