ctrl+shift+m没反应是因光标未落在括号字符上、语言模式非支持类型(如非javascript/python)、或括号位于字符串/注释中;满足三条件后,该快捷键可精准选中括号内内容(不含括号),嵌套时逐层扩展。

Ctrl+Shift+M 没反应?先检查光标和语法模式
这不是快捷键坏了,是 Sublime 没识别到可配对的括号上下文。最常卡住的两个隐性条件:光标必须落在(、[或{字符上(不是旁边空格,不是内部变量),且右下角语言模式不能是Plain Text——得是JavaScript、Python、Vue Component等支持 scope 解析的模式。括号若在字符串里(如"if (x) {}")或注释中(如// func(a, b)),也会直接跳过。
只选内容(不含括号):按一次 Ctrl+Shift+M 就够了
把光标精准移到任意一个左括号上,再按Ctrl+Shift+M(Windows/Linux)或Cmd+Shift+M(macOS),它会立刻选中这对括号之间的全部内容,不含括号本身。嵌套时每按一次就往外扩一层,但严格按括号层级走:光标在{x: 1}里,第一次选x: 1,第二次选整个[a, {x: 1}],不会跳层,也不会误扩到注释或字符串里。
要连括号一起选?别拼方向键,改用 expand_selection
原生Ctrl+Shift+M设计就是不包括括号。硬补Ctrl+Shift+→再Ctrl+Shift+←容易在缩进不齐或换行多时误触其他字符。更稳的做法是自定义快捷键:Preferences → Key Bindings,在用户文件里加:
{"keys": ["ctrl+alt+b"], "command":"expand_selection", "args": {"to":"brackets"}}
之后按Ctrl+Alt+B,一步选中完整括号块(如{a: 1, b: [2, 3]}),含左右括号。注意:expand_selection找的是“最近括号对”,不严格绑定光标所在字符,容错率更高,但也意味着如果光标在foo({x: 1})的x上,它仍会选{x: 1},而不是整个foo(...)。
Mac 用户按 Ctrl+Shift+M 没反应?你可能按错了键
macOS 下Ctrl+Shift+M常被系统拦截,Sublime 实际绑定的是Cmd+Shift+M。打开Preferences → Key Bindings搜expand_selection,看keys字段写的是["super+shift+m"](super = Cmd)还是["ctrl+shift+m"]。另外,中文输入法下Cmd+Shift+M也可能被劫持,务必切英文状态再试。











