ctrl+shift+m仅在光标位于{}内部或紧邻括号时生效;需确保语法模式正确、括号闭合、输入法为英文,否则失效;推荐用ctrl+alt+b自定义选中含括号的完整块。

Ctrl+Shift+M 选不中大括号内容?先看光标在哪
快捷键 Ctrl+Shift+M(Windows/Linux)或 Cmd+Shift+M(macOS)默认只在光标落在成对 {} 内部(包括空格、换行、注释行内)或刚好停在 { 或 } 字符上时才生效。如果光标在 } 右侧、{ 左侧,或整个代码块外面,它根本不会触发。
- 最稳操作:把光标移到
{上再按Ctrl+Shift+M,直接选中{}内全部内容(不含花括号) - JSX 或 Vue 模板里写
{state},但文件被识别为 HTML 而非 Vue Component,Sublime 就当它是普通文本,不解析为 JS 表达式 - 中文输入法下
Ctrl+Shift+M常被系统拦截,务必切英文状态再试
想连花括号一起选?别靠方向键硬扩
Ctrl+Shift+M 设计就是只选内容,不包括号。靠 Ctrl+Shift+→ 补右括号、再 Ctrl+Shift+← 补左括号,容易在换行缩进混用时误触其他字符。
- 推荐方案:在用户键位设置中加一条自定义绑定:
{"keys": ["ctrl+alt+b"], "command": "expand_selection", "args": {"to": "brackets"}} - 之后按
Ctrl+Alt+B直接选中完整{...}块(含花括号) - 注意:
expand_selection的brackets模式找的是“最近括号对”,而Ctrl+Shift+M严格绑定光标所在符号,行为有细微差异
嵌套太深或括号不闭合?换 Ctrl+Shift+Space
Ctrl+Shift+Space(Windows/Linux)或 Cmd+Shift+Space(macOS)基于语法 scope 扩展选区,对破损括号更宽容,也更适合 JSX、Vue 中的 {} 表达式。
- 光标在
foo(bar({x: 1}))的x: 1上,按一次选x: 1,再按选{x: 1},第三次选bar({x: 1}) - 但它不保证“只选括号内”——在 Python 函数体里可能跳过括号直接选中整个
def块 - 如果光标卡在换行符或空格上,它可能跳过当前层,把光标往左挪一个字符再试更可靠
右下角显示 Plain Text?所有括号操作都会失效
这是最常被忽略的硬性前提。Sublime 的括号匹配完全依赖语法高亮引擎,而引擎只在正确语言模式下工作。
- 点右下角灰色文字(如
Plain Text),手动选成JavaScript、Python、Vue Component等对应模式 - 括号不闭合(比如漏写
})会导致匹配逻辑崩溃,可用Ctrl+Shift+P→ 输入Find Unmatched Brackets快速扫描 - 引号包裹的代码(如
"{a: 1}")或注释中的{}默认被跳过,这不是 bug,是设计使然
Ctrl+Shift+M 都会静默失败。











