按Ctrl+Shift+M(Win/Linux)或Cmd+Shift+M(macOS)可一键选中光标所在成对括号内的全部内容(不含括号本身),适用于函数参数、JSON值等场景;若括号不闭合或处于注释/字符串中则失效。

怎么一键选中括号内的全部内容(不含括号本身)
把光标放在任意一对成对括号()、[]或{}内部(哪怕只在空格里),按 Ctrl+Shift+M(Windows/Linux)或 Cmd+Shift+M(macOS),Sublime 就会立刻选中这对括号之间的所有内容,不包括括号本身。
- 适用场景:快速复制函数参数、JSON 对象值、数组元素、CSS 块内声明等
- 注意:如果括号不闭合(比如少了一个
}),该快捷键可能失效或选中范围异常 - 小技巧:选中后按
Delete或Backspace可直接清空内容,保留括号结构
如何连括号一起选中(整对符号 + 内容)
先用 Ctrl+Shift+M 选中括号内内容,再按一次 Ctrl+Shift+→(Windows/Linux)或 Cmd+Shift+→(macOS),就能把选区扩展到包含左右括号的整个块。
- 这个操作本质是“向外一层扩展选区”,对嵌套结构特别有用——比如在
{ a: [1, {x: 2}] }中,连续按可逐层扩到最外层花括号 - 替代方案:把光标放在括号上(不是里面),直接按
Ctrl+Shift+Space(Windows/Linux)或Cmd+Shift+Space(macOS),它会按语法作用域逐级扩展,第一次常就选中整对括号+内容 - 区别在于:
Ctrl+Shift+M是“括号内容优先”,Ctrl+Shift+Space是“作用域优先”,后者更智能但响应略慢一点
为什么有时快捷键没反应?常见失效原因
不是快捷键坏了,大概率是环境没对上。
- 当前文件未识别为有效语言:右下角检查是否显示
JavaScript、Python等,而不是Plain Text;否则 Sublime 不解析括号配对逻辑 - 括号被注释或字符串包裹:比如
// if (x > 0)或"text (with parens)",默认不会匹配 - 快捷键被插件占用:比如安装了
Emmet或BracketHighlighter后可能覆盖原键位;可通过Ctrl+Shift+P→ 输入Key Bindings查看实际绑定 - 配置项被关掉:打开
Preferences → Settings,确认用户设置里没有"match_brackets": false
想删掉整对括号和内容?别直接按 Backspace
Sublime 默认不支持“光标停在括号上按 Delete 自动删整对”,这是个常见误解。直接删可能只删一个字符,留下半截结构。
- 安全做法:先用
Ctrl+Shift+M选中内容,再按Ctrl+Shift+→扩展到整对括号,最后删 - 进阶省事法:自定义快捷键,比如在用户键位里加一条:
{"keys": ["ctrl+alt+b"], "command": "expand_selection", "args": {"to": "brackets"}},之后按Ctrl+Alt+B就能一步选中整对括号(含符号) - 注意:
expand_selection的to参数支持brackets和scope,前者严格找括号对,后者按语法块(如函数体、CSS 规则),别混用










