Sublime Text 无真正代码块居中功能,所谓“居中”实为免干扰模式(distraction_free_mode)下通过 draw_centered、margin、padding_top/bottom 协同实现的视觉效果;正确进入方式为 Shift+F11(Win/Linux)或 Cmd+Shift+F11(macOS),禁用冲突插件、切换默认主题、确保配置写入用户设置文件,并区分 draw_centered(静态居中)与 scroll_to_center(动态打字机模式)。

Sublime Text 本身不支持“代码块居中”——它没有水平居中排版能力,所谓“居中”实际是免干扰模式(distraction_free_mode)下的视觉错觉,靠的是 draw_centered + margin + padding_top/padding_bottom 三个参数协同控制;强行修改对齐逻辑会破坏光标定位、多光标、行号等基础功能。
怎么正确进入 Distraction Free 模式
别按 F11,那是系统级全屏,所有 UI(菜单栏、侧边栏、标签页)都还在。真正起作用的是:
- Windows/Linux:
Shift+F11(不是Ctrl+Shift+F,也不是F11) - macOS:
Cmd+Shift+F11(部分键盘需加Fn键)
按一次进入,再按一次退出;任何时候直接按 Esc 也退出,比找菜单快得多。如果快捷键失效,大概率被插件(如 Origami 或 AdvancedNewFile)劫持了,此时用 Ctrl+Shift+P / Cmd+Shift+P 打开命令面板,输入 Enter Distraction Free Mode 回车执行即可。
为什么改了设置没反应?检查这三处覆盖点
免干扰模式的外观不是写死的,很容易被其他配置悄悄覆盖:
-
插件冲突:比如Origami、SideBarEnhancements可能重写视图逻辑,临时禁用插件测试最直接 -
主题强绑定:Material Theme、Ayu、Soda等自带distraction_free.sublime-settings,优先级高于用户设置;先切回默认主题验证,再针对性改主题包 -
设置层级错位:必须加在Preferences → Settings的右侧(User Settings),不是 Default,也不是已废弃的Distraction Free - User(Sublime Text 4+ 不再读取)
关键配置项只有三个,改错一个就白调
默认 DF 模式左右太挤、上下太空,但真正起作用的就三个参数:
-
"draw_centered": true:关掉它,文本立刻左对齐,“免干扰感”消失;它控制的是整段内容是否在编辑区水平居中,不是单行文字居中 -
"margin": 60:控制左右留白,40–80 是舒适区间;小于 30 贴边压迫,大于 120 行宽过窄影响可读性 -
"padding_top"和"padding_bottom":默认不生效,必须手动加,比如设为80让文字“悬浮”在屏幕中央;注意这不是行高内垂直居中(那是draw_centered在干的事),而是整个内容区域上下留白
别碰 wrap_width 来调宽度——它只影响自动换行位置,不影响居中范围;也别试图用 font_face 或 font_size 改对齐方式,它们完全无关。
想让当前行始终垂直居中?用 scroll_to_center
如果你要的是“打字机模式”(光标所在行始终在可视区域正中央),那不是靠 DF 模式,而是靠 scroll_to_center 命令:
- 手动触发:按
Ctrl+L(VS Code 风格),或自定义快捷键,添加到用户键位文件:[{"keys": ["ctrl+l"], "command": "scroll_to_center"}] - 自动触发:不推荐装老旧插件(如
Typewriter),可用轻量 Python 监听器,在on_selection_modified里调用self.view.run_command("scroll_to_center") - 注意:在
word_wrap开启且行长超宽时,“居中”按软换行后的逻辑行计算,可能和你预期不符;多列布局下,该命令只作用于当前活动 group
DF 模式里的 draw_centered 是静态布局,scroll_to_center 是动态滚动,二者目的不同、机制不同,混用容易互相干扰。真要专注写作,建议明确区分:DF 模式管整体视觉留白,scroll_to_center 管光标行定位。

















