Sublime Text行高不可设倍数,仅支持line_padding_top和line_padding_bottom(整数px)调节编辑区行距;字间距无法调整;侧边栏等区域需改主题文件;跨平台渲染存在1–2px差异。

Sublime 的行高只能调,不能设“倍数”
Sublime 没有 CSS 那种 line-height: 1.5 的写法,所谓“行高”实际是基线间距,单位是像素。你真正能改的只有三个字段:line_height、line_padding_top、line_padding_bottom。其中 line_height 是历史遗留项,行为不稳定;当前最可靠的是后两者。
常见错误现象:改了 line_height 没反应,或在 macOS 上忽灵忽不灵——大概率是因为主题硬覆盖,或你设的是小数但渲染器四舍五入后没变化。
-
line_padding_top和line_padding_bottom必须同时设置,值为整数(0–8),单位 px,加起来才是视觉行距增量 - 推荐起始值:
"line_padding_top": 3+"line_padding_bottom": 3,对font_size14–16 的等宽字体较舒适 - 不对称设置有用:比如
"line_padding_top": 4+"line_padding_bottom": 2可让文字整体下沉,缓解长时间阅读的压迫感 - 别碰
line_spacing—— ST3/ST4 已弃用,写了也无效
字间距在 Sublime 里根本调不了
Sublime Text 不提供 letter-spacing 或类似配置项。官方从未实现字间距调节,所有试图通过 JSON 设置 font_spacing、char_spacing 或 CSS 注入的方式都无效。
你能做的只有间接优化:
- 换字体:选本身就优化过字符间距的编程字体,比如
Fira Code、JetBrains Mono、Source Code Pro - 启用连字(ligature):配合支持连字的字体,加一行
"font_options": ["liga"],虽不改字间距,但能改善!=、=>这类符号的视觉密度 - 避免伪方案:不要尝试修改
.sublime-theme里的font.size来“挤”字,那只会缩放 UI 元素,不影响编辑区字符间距
为什么侧边栏/行号栏行距没变
line_padding_top 和 line_padding_bottom 只作用于代码编辑区,对侧边栏(Sidebar)、行号栏(Gutter)、标签页(Tabs)完全无效。这些区域的行距由当前主题文件控制,必须手动改 .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"调标签页 - 改完必须完全退出 Sublime 并重启,否则不生效
容易被忽略的兼容性细节
同一组数值,在 Windows/macOS/Linux 上实际渲染出的行距可能差 1–2px,这是底层渲染器(GDI/Core Text/FreeType)差异导致的,不是配置错了。
更隐蔽的问题:
- 某些主题(如
Ayu、Material Theme)会在主题文件里硬写line_height,直接覆盖你的用户设置 -
font_size小于 12 时,macOS 上line_height可能被 Core Text 忽略,建议先提至 12 再调 - 插件如
Origami或BracketHighlighter可能在折叠标记、括号高亮层遮挡行距变化,验证时建议临时禁用 - 保存配置后无需重启,但若 JSON 格式错(多逗号、中文引号、缺大括号),Sublime 会静默忽略整份配置——检查右下角状态栏是否显示“Settings loaded”











