Ctrl+Shift+M(Win/Linux)或Cmd+Shift+M(macOS)可选中光标所在最内层括号内的内容(不含括号),连续按可逐层向外扩展;失效常因光标位置不当、括号不成对、语法未识别或快捷键被插件覆盖。

Sublime 中如何用快捷键选中括号内全部内容
直接按 Ctrl+Shift+M(Windows/Linux)或 Cmd+Shift+M(macOS),就能一次性选中光标所在括号(()、[]、{})包裹的**最内层内容**,不包括括号本身。这个操作叫 “Expand Selection to Brackets”,是 Sublime 原生支持、无需插件的核心功能。
为什么有时按了没反应?常见失效原因
这个快捷键依赖光标准确落在成对括号结构内或其边缘。常见失效场景包括:
- 光标在字符串里,比如
"if (x > 0) { ... }"中的括号被引号包围 → Sublime 默认不跨语法上下文匹配 - 括号不成对(缺左或右),或嵌套过深导致解析失败
- 当前文件类型未被正确识别(如后缀名是
.txt或无后缀),Sublime 没加载对应语法高亮和括号匹配规则 - 有插件(如 Emmet)劫持了该快捷键,可在
Preferences → Key Bindings中搜expand_selection确认绑定是否被覆盖
想连括号一起选中?得换命令
Ctrl+Shift+M 默认只选内容,不选括号。如果需要“连括号一起选”,可用:
-
Ctrl+Shift+P打开命令面板,输入Select Scope→ 选Expand Selection to Brackets(效果同快捷键) - 或改用
Ctrl+Shift+P→ 输入Select Bracket→ 选Select Brackets,它会把括号本身也纳入选区 - 更灵活的方式:先用
Ctrl+Shift+M选内容,再按Shift+←或Shift+→手动扩一个字符,把左侧或右侧括号加进来
嵌套多层时怎么精准控制范围
Sublime 的括号选择是“逐层向外扩展”的。连续按 Ctrl+Shift+M(或 macOS 的 Cmd+Shift+M)会按如下顺序变化:
- 第 1 次:选最内层括号中的内容(不含括号)
- 第 2 次:选包含该内容的下一层括号及其中全部内容(仍不含最外层括号)
- 第 3 次:继续往外扩,直到抵达顶层或无法匹配
注意:它不会跳过中间层,也不能反向收缩 —— 想缩回上一层,只能按 Ctrl+U(Undo Selection)来回退一步。
实际写代码时最容易忽略的是语法识别状态和光标初始位置;哪怕只差一个空格或换行,都可能导致 Ctrl+Shift+M 完全不生效。










