Windows/Linux下默认快捷键为Ctrl+[反缩进、Ctrl+]增加缩进,macOS对应Cmd+[和Cmd+];它们纯文本级操作,只修改行首空白符,不触发自动格式化。

Sublime 中缩进和反缩进的默认快捷键是什么
Windows/Linux 下,Ctrl+[ 是减少缩进(反缩进),Ctrl+] 是增加缩进;macOS 下对应的是 Cmd+[ 和 Cmd+]。这两个快捷键作用于当前行或选中的多行,不依赖语言语法,纯文本级操作,所以对任何文件类型都生效。
注意:它们只改变行首空白字符(空格或 Tab)的数量,不会触发自动格式化或代码重排——这点和 Ctrl+Shift+P → “Reindent” 不同。
选中代码块后缩进失效?检查是否启用了“auto_indent”或“detect_indentation”
如果按了 Ctrl+] 没反应,常见原因是 Sublime 自动检测缩进设置干扰了手动操作:
-
"detect_indentation": true(默认开启)会让 Sublime 在打开文件时锁定缩进风格(比如识别出是 2 空格,后续手动加缩进可能被自动“矫正”回 2 空格倍数) -
"auto_indent": true(默认开启)在换行时自动继承上一行缩进,但有时会覆盖你用快捷键的意图
临时解决:按 Ctrl+Shift+P 输入 “Set Syntax: Plain Text”,切到纯文本模式再试缩进;长期建议在用户设置里关掉 "detect_indentation",或用命令面板执行 “Indentation: Convert to Spaces/Tabs” 统一风格后再操作。
想批量调整嵌套代码块(如函数体、if 分支)该用什么
单纯靠 Ctrl+] 容易漏行或缩进不齐,尤其面对嵌套结构时。更可靠的方式是:
- 用鼠标或
Ctrl+Shift+↑/↓扩展选择到整个逻辑块(例如把光标放在if行,连按几次Ctrl+Shift+↓可选中整个分支) - 确认选区准确后,再按
Ctrl+]或Ctrl+[—— 这样比逐行调安全得多 - 对 JSON/YAML/HTML 等结构化格式,可先用
Ctrl+Shift+P→ “Selection: Expand Selection to Brackets” 快速选中配对括号内的全部内容
别依赖“自动折叠后缩进”,Sublime 的折叠区域不参与缩进计算,展开后可能错位。
自定义快捷键让缩进行为更符合团队规范
比如团队强制用 4 空格,但你常用 Tab,可以改快捷键绑定,让 Ctrl+] 固定插入 4 个空格而非一个 Tab:
[
{
"keys": ["ctrl+]" ],
"command": "insert",
"args": {"characters": " "}
}
]
这个配置写在 Preferences → Key Bindings – User 里。注意它会覆盖原生缩进行为,且不感知当前缩进设置——所以更适合固定风格项目;若需兼顾多种项目,建议用插件如 “EditorConfig” 或 “Indent XML” 来按文件类型自动适配。
真正容易被忽略的是:缩进快捷键的效果取决于当前视图的 tab_width 和 translate_tabs_to_spaces 设置,而不是你键盘按了几次。调之前先确认状态栏右下角显示的缩进信息是否符合预期。










