Sublime Text 唯一可靠行距控制是 line_padding_top 和 line_padding_bottom,单位像素,跨版本稳定;font_size 必须在用户设置中以纯数字格式书写;letter_spacing 不支持,应换用 Fira Code 等编程字体。

line_padding_top 和 line_padding_bottom 是唯一可靠行距控制方式
Sublime Text 没有 CSS 风格的 line-height,所谓“行距”本质是给每行文字上下加像素级空白。真正起作用且跨版本(ST3/ST4)稳定的,只有 line_padding_top 和 line_padding_bottom 这两个字段。
它们单位是像素,独立于 font_size,设为 "line_padding_top": 3 就真加 3px 上边距,"line_padding_bottom": 3 就真加 3px 下边距——加起来才是你眼睛看到的行间空隙。
- 新手起步建议直接用
"line_padding_top": 3, "line_padding_bottom": 3,14–16px 字体下最平衡 - 想缓解视觉压迫感?试试不对称设置:
"line_padding_top": 4, "line_padding_bottom": 2,文字略下沉,光标更居中 - 绝对不要只设一个为 0(比如只设
line_padding_top),否则折叠箭头、断点图标会偏移,光标线错位 - 等宽字体(如
Fira Code、JetBrains Mono)纵向密度高,建议比默认多加 0.5–1px,例如从 3/3 改为 4/3
font_size 必须写对位置和格式才生效
font_size 控制编辑区字号,但只在用户设置里生效,且必须是纯数字(单位 px),不能带单位字符串或小数。
常见失效不是参数错了,而是写错地方或格式非法:左侧 Default Settings 是只读的,改了也白改;JSON 多个逗号、中文引号、缩进混乱都会让整段配置静默失效——Sublime 不报错,只是忽略。
-
font_size推荐值:12–16,小于 10 在高分屏上边缘发虚,大于 20 容易顶到上下行、折叠箭头错位 -
font_face必须填系统已安装的等宽字体全名,比如"Fira Code"或"JetBrains Mono",不是文件名(FiraCode-Regular.ttf),也不是带空格的显示名 - 改完保存即刷新,不用重启;但如果没反应,先确认是否误改了左侧 Default 面板
字间距(letter-spacing)在 Sublime 里根本调不了
Sublime 原生不支持 letter_spacing 或类似配置项。所有试图通过 font_options、CSS 注入、主题 hack 来调字距的操作,效果极有限,还容易引发字体模糊或渲染锯齿。
真正可行的方案只有一个:换字体。选专为编程优化的等宽字体,比如 Fira Code、JetBrains Mono、Cascadia Code。它们在字符间距、x-height、连字支持上做了底层适配,比硬调参数靠谱得多。
- 连字支持需 ST4+、正确字体名、且
font_options中明确写"liga" - 别碰
line_spacing—— 它在 ST3/ST4 中已被弃用,写了也无效 - 临时缩放(Ctrl+鼠标滚轮)不影响配置,但不会改变实际行距计算逻辑
侧边栏、标签页、行号栏的“行距”要另配主题文件
line_padding_top 和 line_padding_bottom 只影响代码编辑区,对侧边栏、标签页、行号栏(Gutter)完全无效。这些 UI 元素的垂直间距由当前主题的 .sublime-theme 文件控制。
ST4.4277+ 支持 ui_font_size,但仅限菜单栏、侧边栏、标签页,且 ST3 不认这个字段;ST3 必须手动改主题文件。
- 先装插件
PackageResourceViewer(Ctrl+Shift+P → Install Package) - Ctrl+Shift+P →
PackageResourceViewer: Open Resource→ 选当前主题(如Theme - Default)→ 打开Default.sublime-theme - 搜索
"class": "sidebar_tree",添加或修改"row_padding": [8, 4](第二个数字是垂直间距) - 同理,搜
"class": "tab_label"调标签页字体大小,搜"class": "gutter"调行号栏内边距 - 改完必须完全退出 Sublime 并重启,否则不生效
改完记得验证 JSON 格式——复制内容到 jsonlint.com 跑一遍,比反复重启试错快得多。主题覆盖、语法专属设置、高分屏渲染差异,这三类问题占了“调了没反应”的九成,别一上来就怀疑参数本身。

















