按 Ctrl+Shift+M(Win/Linux)或 Cmd+Shift+M(macOS)可选中括号内内容(不含括号),需光标在成对括号内且语言模式正确;嵌套时逐层扩展可用 Ctrl+Shift+→ 或 Ctrl+Shift+Space。

光标在括号里,按什么键能立刻选中内容?
直接按 Ctrl+Shift+M(Windows/Linux)或 Cmd+Shift+M(macOS),就能选中当前括号内的全部内容,不包括括号本身。这是最常用、最直觉的操作,比如在 JSON 里选中对象字段、JavaScript 函数参数、Python 列表元素时都管用。
- 光标必须落在成对括号内部(
()、[]、{}均支持),不能在括号外或括号缺失处 - 若括号嵌套,第一次按只选最内层;想往外扩一层,接着按
Ctrl+Shift+→(方向键)即可 - 如果快捷键没反应,大概率是语言模式没设对——右下角检查是否为
JavaScript、Python等有效语法,而非Plain Text
想连括号一起选中?别多按,换组合键
仅用 Ctrl+Shift+M 不会包含括号,这是设计使然。要选“括号 + 内容”整体,推荐两种方式:
- 先按
Ctrl+Shift+M选中内容,再按Ctrl+Shift+A(Windows/Linux)或Cmd+Shift+A(macOS)——它会向上扩展到最近的语法块边界,通常就包住括号了 - 或者更稳:把光标移到左括号上(比如
{),再按Ctrl+Shift+Space(Windows/Linux)或Cmd+Shift+Space(macOS),这个命令叫Expand Selection to Scope,默认就从括号起始处开始选 - 注意:
Ctrl+Shift+Space是“逐层扩展”,连按两次会先选内容 → 再选括号对 → 再选外层函数/类,适合结构复杂时精准控制
快捷键失效?先查这三个地方
不是插件冲突就是配置覆盖,常见原因很集中:
-
"match_brackets": false被手动关掉了——打开Preferences → Settings,确认用户设置里没有这行,或明确写成true - 快捷键被其他插件劫持(比如 Emmet 或 Vintage 模式),可在
Preferences → Key Bindings左侧看默认绑定,右侧搜expand_selection确认是否存在重复映射 - 文件编码或 BOM 头异常导致 Sublime 解析失败,尤其出现在粘贴自网页的 JSON 或 YAML 中——尝试另存为 UTF-8 编码再试
处理嵌套结构时,为什么有时选得不对?
Sublime 的括号识别依赖语法解析器,不是正则硬匹配。所以:
- Python 中靠缩进来界定块,但
Ctrl+Shift+M只认括号,不会自动选中整个def函数体——此时该用Ctrl+Shift+A或命令面板执行Expand Selection to Function - JSX 或 Vue 单文件组件里,
{}可能被解析为 JS 表达式或模板指令,若右下角语言模式是Vue Component而非JavaScript,括号范围可能偏移 - HTML 标签也算“括号结构”,
Ctrl+Shift+M放在内会选中标签内容,但不会跨标签——这点和Ctrl+Shift+A的行为不同,后者可能跳到父级真正卡住人的,往往不是记不住快捷键,而是没意识到 Sublime 的选择逻辑是“作用域驱动”而非“字符驱动”。光标在哪、当前语言模式是什么、括号是否被语法高亮正确配对——这三个条件缺一不可。










