ctrl+shift+m失效主因是光标位置不当或语言模式为plain text;需确保光标在成对{}内且语言设为javascript等支持模式,中文输入法也需切换为英文。

Ctrl+Shift+M 按下没反应?先检查光标位置和语言模式
这个快捷键不是“悬停即生效”,它只在 Sublime 能识别出成对 {} 且光标处于其语法作用域中时才触发。常见失效点包括:
• 光标停在 } 右侧、{ 左侧,或整个代码块外面
• 右下角显示 Plain Text:括号匹配引擎不加载,必须手动点右下角语言名,切为 JavaScript、Python、Vue Component 等对应模式
• {} 不闭合(比如漏写 }),可用 Ctrl+Shift+P → 输入 Find Unmatched Brackets 扫描
• 中文输入法启用时,Ctrl+Shift+M 常被系统拦截,务必切英文状态再试
只想选内容(不含 { 和 })?直接用 Ctrl+Shift+M
把光标移到任意一个 { 字符上,再按 Ctrl+Shift+M(Windows/Linux)或 Cmd+Shift+M(macOS),就能精准选中该对 {} 内全部内容,不含括号本身。
• 嵌套时,每按一次就往外扩一层:光标在 {x: {y: 1}} 的 y: 1 上,第一次选 y: 1,第二次选 x: {y: 1}
• 它不跳层,也不误扩到注释或字符串里,边界干净
• 如果光标已在括号内部(非括号字符),也能工作,但优先推荐先挪到 { 上再按,触发更稳
要连 { 和 } 一起选?别拼方向键,加一条自定义键位
原生 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 退回上一级,比方向键微调更干净
Plain Text 时,所有括号操作都会静默失效——这点最容易被忽略。











