ctrl+m/cmd+m跳转需光标精确落在六类括号字符上,且语法模式正确、match_brackets启用;ctrl+shift+m选中还要求括号闭合且不在字符串/注释中。

Ctrl+M(Windows/Linux)或 Cmd+M(macOS)是唯一原生、无需插件的跳转方式,但**必须光标精确落在(、)、{、}、[、]这六个字符上才生效**。停在括号内、旁、空格、换行符,甚至紧贴括号前一个字母的位置,它都不会响应——这不是故障,是设计如此。
光标没踩准括号字符,Ctrl+M 就是静音
Sublime 不做“就近匹配”,只做“字符级绑定”。比如 if (x > 0) { return y; },只有光标落在 (、)、{ 或 } 上时,Ctrl+M 才触发。
- 用
Ctrl+←或Ctrl+→(跳词)快速把光标挪到最近的括号字符上再试 - 鼠标悬停时若看到高亮配对(前提是
"match_brackets": true),直接点击高亮括号也能跳 - HTML 标签也适用,但光标得落在
或 <code>>字符上,不能停在div名中间
右下角显示 Plain Text,括号功能基本瘫痪
语法识别是前提。一旦右下角显示 Plain Text,Sublime 不加载括号匹配引擎,Ctrl+M 和 Ctrl+Shift+M 全部失效。
- 点击右下角语言名,手动选成
JavaScript、Python、HTML等对应模式 - 文件无后缀或后缀不标准(如
.js.txt)时,必须手动切换 - Vue 单文件组件被误识别为
Vue Component(非标准语法包),括号可能错位 - 正则表达式字面量里的括号(如
/(\d+)/)易被忽略,可临时切到RegExp语法模式再试
Ctrl+Shift+M 选不中?先查括号状态和光标位置
Ctrl+Shift+M(macOS 是 Cmd+Shift+M)不是“看到括号就选”,它依赖实时语法解析:
- 光标必须在括号内部或括号字符上,不能停在
)右边或{左边 - 括号必须闭合(少一个
}就不工作)、不在字符串或注释中 - HTML 标签如
<p>text</p>不支持,Ctrl+Shift+M默认只处理()、{}、[] - 想剔除括号只留内容:先按
Ctrl+Shift+M,再连按两次Ctrl+Shift+→(Expand Selection to Scope)
"match_brackets": true 这三个硬条件中任意一个没对齐——它们缺一不可,且 Sublime 从不报错提示。











