SublimeText中选中大括号内内容的快捷键因光标位置与语法模式影响易失效。选中不含括号的内容可移光标至{后按Ctrl+Shift+M,嵌套时逐层扩展。需包含括号时自定义expand_selection命令更可靠。Ctrl+Shift+Space按作用域选中,适合JSX场景。
Sublime Text 里选中大括号内内容的快捷键,很多人第一反应就是 Ctrl+Shift+M(或者 macOS 上的 Cmd+Shift+M)。但实际用起来,这个快捷键经常“罢工”——按下去一点反应都没有。问题出在哪?又该如何高效选中括号块?下面整理几个核心技巧,顺便把常见坑点也一并讲清楚。

长期稳定更新的攒劲资源: >>>点此立即查看<<<
这个快捷键的触发条件其实很严格。你必须把光标放在一个有效的语法作用域内,并且 {} 需要成对闭合,它才会工作。否则按下就是石沉大海。常见失效场景包括:
} 的右边、{ 的左边,或者干脆在代码块外面。Plain Text,而不是 JavaScript、Python 这类支持语法作用域解析的语言模式。{} 本身不闭合(比如漏写了另一半),或者它被包裹在字符串里(如 "{ x: 1 }")或注释里(如 // { a: b })。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 后,直接选中完整的 {...} 块(含括号)。{},它默认选最内层那一对。这个命令叫 expand_selection,目标是“当前作用域”,而不是括号层级。在 JSX 或 Vue 模板里处理 {state} 时更稳,因为它是按语法 scope 而非括号匹配来选中的。第一次可能选最小表达式(比如 state),第二次才选中 {state},第三次可能跳到外层函数体——这并非 bug,而是设计如此。对破损括号更宽容,但边界模糊:在纯 JSON 或 Python 字典里,可能不如 Ctrl+Shift+M 精确。如果误扩多了,按 Ctrl+U 退回上一级,比方向键微调更干净。
真正卡住的地方往往不是快捷键记不住,而是光标位置和语法模式这两个隐性条件没被满足。尤其在 Vue/JSX 文件里,如果右下角显示的是 HTML 而非 Vue Component,{} 就不会被当作 JS 表达式解析——这时候任何括号选中命令都会失效。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述