sublime text 无一键全局格式化功能,需分语法感知重排(如jsprettier/black/jsbeautify)和视觉对齐(alignment插件)两类操作;前者依赖外部cli并须正确配置路径,后者仅对选定行按指定字符视觉左对齐。

Sublime Text 本身没有“一键全局格式化”功能,所谓“整洁”必须拆解为两类操作:语法感知的代码结构重排(如缩进、换行、括号对齐),和纯视觉的符号对齐(如等号、冒号)。混用或误配插件,反而会让代码更乱。
用 JsPrettier / SublimeBlack / JSBeautify 做真正意义上的格式化
这些插件才是真正按语言规则重写代码结构的工具,不是“看起来整齐”,而是“符合 ESLint / PEP8 / W3C 规范”。关键点在于:它们依赖外部 CLI(如 prettier、black、js-beautify),必须提前装好并配置路径。
- JavaScript/TypeScript/JSON:装
JsPrettier,在用户设置里填prettier_cli_path(比如/usr/local/bin/prettier),否则按Ctrl+Alt+F会报错prettier not found - Python:推荐
SublimeBlack(不是autopep8),必须设"use_stdin": true,否则大文件会卡死或截断 - HTML/CSS:用
JSBeautify,但务必确认右下角状态栏显示的是HTML或CSS—— 如果当前是Plain Text或JavaScript,它会强行按 JS 规则格式化 HTML 标签,结果惨不忍睹
用 Alignment 插件做等号/冒号视觉对齐
Alignment 不解析语法,只干一件事:选中几行后,按 Ctrl+Alt+A(Win/Linux)或 Cmd+Alt+A(macOS),按你指定的字符(默认 = 和 :)把它们视觉左对齐。它适合整理配置块、字典、变量声明,但绝不适合函数体或嵌套结构。
- 必须手动选中至少两行,不选中就无反应
- 对齐后不会改缩进、不加空格、不处理注释,所以
# foo = 1和bar = 2对齐后可能错位 - 想支持
=>或->,要改Settings - User里的alignment_chars数组,例如:["=", ":", "=>"] - 如果快捷键没反应,先看右下角语法模式是否被其它插件劫持(比如某些 LSP 插件会拦截
Ctrl+Alt+A)
别忽略折叠和多光标,它们才是日常整洁的主力
真正的可读性提升,往往来自快速隐藏噪音、聚焦逻辑块,而不是让每行都“对齐”。Ctrl+K Ctrl+0(折叠所有)和 Ctrl+K Ctrl+J(展开所有)比任何对齐都管用,尤其在读大型配置或调试时。
- 折叠后,你可以用
Ctrl+Shift+P→ 输入Fold找到更细粒度命令,比如只折叠注释或函数 - 批量修字段名?用
Ctrl+D逐个选中相同词,或Ctrl+Command+G一次性选中全部匹配项,再统一改 - 对齐多行赋值?不用插件:选中所有行 →
Ctrl+Shift+L拆成多光标 → 光标移到等号前 →Home→ 手动打空格,比等号对齐更可控
最常被忽略的一点:格式化插件和 Alignment 插件的执行顺序。先用 SublimeBlack 整理 Python 缩进和空行,再用 Alignment 对齐 =,效果才自然;反过来,先对齐再格式化,black 会把你的精心对齐全抹掉——因为 PEP8 明确禁止“空格对齐变量”。











