Sublime 的行距由 line_padding_top 和 line_padding_bottom 像素值控制,非 CSS 式 line-height;二者设为整数(如各3),仅作用于编辑区,保存即生效,侧边栏等需改主题文件。

Sublime 的“行高”不是 CSS 那种 line-height,它没有倍数概念,也不能直接设为 1.3 或 150%;你真正能调的是 line_padding_top 和 line_padding_bottom,单位是像素,且必须改用户配置文件。
为什么改 line_height 有时没反应?
因为 Sublime 实际渲染行距靠的是上下 padding,line_height 是个历史遗留字段,行为不稳定:设小数(如 1.3)时部分版本当倍数处理,部分当像素四舍五入;设整数(如 22)又可能被主题或插件覆盖。官方文档和最新实测都确认:line_padding_top / line_padding_bottom 才是当前最可靠、最直接生效的控制项。
-
line_height设为 0 表示“交给字体”,但中英混排时容易上下裁切 - 即使
line_height生效,它控制的是基线间距,不等于视觉行距,文字仍可能“贴边” - 很多主题(如 Ayu、Material Theme)会主动重写
line_height,导致你设了也白设
怎么正确设置 line_padding_top 和 line_padding_bottom?
打开 Preferences → Settings,确保只编辑右侧「User Settings」面板(左侧是只读默认值,改了也会被升级清空)。在大括号内添加两行:
{
"font_size": 14,
"font_face": "JetBrains Mono",
"line_padding_top": 3,
"line_padding_bottom": 3
}
- 两个值都设为
3,视觉等效于 +6px 行距,对 14px 等宽字体较舒适 - 可以不对称:比如
"line_padding_top": 4, "line_padding_bottom": 2,让光标线更居中,缓解视觉压迫 - 值必须是整数,支持 0–8;超过 10 容易造成行间割裂感,滚动时跳动感变强
- 保存后立即生效,无需重启或重载
为什么改完编辑区行距,侧边栏/行号栏还是那么挤?
line_padding_top 和 line_padding_bottom 只作用于代码编辑区,对侧边栏(Sidebar)、标签页(Tabs)、行号栏(Gutter)完全无效。这些区域的行距由当前主题文件(.sublime-theme)控制。
- 先装插件
PackageResourceViewer(Ctrl+Shift+P → 输入 Install Package) - 再 Ctrl+Shift+P →
PackageResourceViewer: Open Resource→ 选你当前主题(如Theme - Default)→ 打开Default.sublime-theme - 搜索
"class": "sidebar_tree",添加或修改"row_padding": [0, 4](第二个数字是垂直间距) - 同理,搜
"class": "gutter"调整行号栏高度,搜"class": "tabset_control"调标签页
VSCode 用户切过来容易踩的坑
VSCode 的 editor.lineHeight 支持整数(像素)和小数(倍数),而 Sublime 没有这种抽象——它的 line_padding_* 是纯像素偏移,不随字号缩放。如果你从 VSCode 切过来,习惯性设 "line_height": 1.4,那大概率没效果,甚至因 JSON 格式错误(比如小数后多逗号)导致整个配置失效。
- 别复制 VSCode 的
editor.lineHeight值直接粘贴进 Sublime - Sublime 不支持
editor.letterSpacing,字间距靠换字体解决(如 Fira Code、Cascadia Code) - 检查 JSON 语法最简单的方法:把右侧用户设置内容复制到
jsonlint.com验证
真正要调的是每行文字上下留多少像素空白,而不是“行高是多少倍”。这个细节决定了你调半天到底有没有用——很多人卡在第一步,就因为没意识到 Sublime 的行距逻辑和主流编辑器根本不同。











