Sublime Text 本身不提供自动排版功能,所谓“默认自动排版设置”不存在;真正实现自动排版的是插件(如JsPrettier、sublime_black)、其独立配置文件及快捷键绑定,需卸载插件、清除对应配置和键绑定并重启,才能彻底关闭所有自动排版行为。

Sublime Text 本身没有“默认自动排版设置”——它压根不提供自动排版功能,所谓“恢复默认”,其实是清掉你装过的格式化插件、删掉相关配置、关掉所有 format_on_save 开关,让编辑器回到「什么也不干」的原始状态。
为什么删了 Preferences.sublime-settings 还有自动排版?
因为自动排版从来就不在 Preferences.sublime-settings 里。它来自三处:
- 已安装的插件(如
JsPrettier、sublime_black、Sublime-Code-Formatter) - 插件自己的配置文件(如
Packages/User/JsPrettier.sublime-settings) - 快捷键绑定(
Key Bindings – User里可能有ctrl+alt+l绑定到格式化命令)
只删全局设置,插件照常运行,快捷键一按还是调用 prettier 或 black。
怎么真正关掉所有自动排版行为?
执行这三步,缺一不可:
- 菜单 Preferences → Package Control → Remove Package,逐个卸载所有疑似格式化插件:
JsPrettier、sublime_black、SQLBeautifier、Sublime-Code-Formatter、EditorConfig(它会强制覆盖缩进) - 打开 Preferences → Package Settings,确认里面已没有上述插件的菜单项;若有,说明没卸载干净,重来
- 打开 Preferences → Key Bindings – User,删掉所有含
"command": "js_prettier"、"command": "black"、"command": "reindent"的键绑定
完成后重启 Sublime,再按 Ctrl+Alt+L 或保存文件,应该完全没反应——这才是“默认状态”。
reindent 是不是自动排版?它要不要关?
reindent 不是自动排版,只是基础缩进对齐,但它可能被误触发。如果你不需要它:
- 检查是否绑定了快捷键:打开
Key Bindings – User,删掉{"keys": ["ctrl+shift+r"], "command": "reindent"}这类条目 - 确认没在保存时调用它:搜索用户设置里有没有
"save_on_focus_lost": true配合插件钩子,但 Sublime 原生不支持 save hook,所以大概率是你装了某个自动触发插件 - 如果只是偶尔手动用,留着无害;但它对语法错误或混用 Tab/空格的文件会静默失败,别把它当 prettier 用
真正容易被忽略的是:某些插件(比如旧版 SublimeLinter 或 TrailingSpaces)会在保存时顺带调用格式逻辑,得连插件一起清。











