Ctrl+Shift+M(Windows/Linux)或Cmd+Shift+M(macOS)仅在光标位于有效语法作用域内且{}成对闭合时生效,常见失效原因为光标位置不当、语言模式错误、括号破损或被字符串/注释包裹。

Ctrl+Shift+M 按下没反应?先确认光标是否落在有效作用域内
这个快捷键不是“悬停即生效”,它只在 Sublime 能识别出成对 {} 且光标处于其语法作用域中时才触发。常见失效点包括:
• 光标停在 } 右侧、{ 左侧,或整个代码块外
• 文件右下角显示 Plain Text,而非 JavaScript、Python 等支持 scope 解析的语言模式
• {} 不闭合(比如漏写 }),或被包裹在字符串里(如 "{ x: 1 }")或注释中(如 // { a: b })
• macOS 用户误按 Ctrl+Shift+M,实际应为 Cmd+Shift+M
只想选内容(不含 { 和 })?直接用 Ctrl+Shift+M
把光标移到任意一个 { 字符上,再按 Ctrl+Shift+M(Windows/Linux)或 Cmd+Shift+M(macOS),就能精准选中该对 {} 内全部内容,不含括号本身。
• 嵌套时,每按一次就往外扩一层:光标在 {x: {y: 1}} 的 y: 1 上,第一次选 y: 1,第二次选 x: {y: 1}
• 它不跳层,也不误扩到注释或字符串里,边界干净
• 如果光标已在括号内部(非括号字符),也能工作,但优先推荐先挪到 { 上再按,触发更稳
要连 { 和 } 一起选?别拼组合键,改用 expand_selection 命令
原生 Ctrl+Shift+M 设计就是只选内容。硬凑 Ctrl+Shift+→ 补括号虽可行,但在换行、缩进不齐时容易误触。
更可靠的做法是:在用户键位文件(Preferences → Key Bindings)里加一条:
{ "keys": ["ctrl+alt+b"], "command": "expand_selection", "args": {"to": "brackets"} }• 按
Ctrl+Alt+B 后,直接选中完整 {...} 块(含括号)• 它依赖最近括号对,不严格绑定光标所在字符,容错率更高
• 注意:若当前有多个嵌套
{},它默认选最内层那一对
Ctrl+Shift+Space 是替代方案,但逻辑不同
这个命令叫 expand_selection,目标是“当前作用域”,不是括号层级。
• 在 JSX 或 Vue 模板里处理 {state} 更稳,因为它是按语法 scope 而非括号匹配
• 第一次可能选最小表达式(如 state),第二次才选 {state},第三次可能跳到外层函数体——这并非 bug,而是设计如此
• 对破损括号更宽容,但边界模糊:在纯 JSON 或 Python 字典里,可能不如 Ctrl+Shift+M 精确
• 误扩多了?按 Ctrl+U 退回上一级,比方向键微调更干净
HTML 而非 Vue Component,{} 就不会被当作 JS 表达式解析——这时候任何括号选中命令都会失效。

















