ctrl+m(windows/linux)或cmd+m(macos)是唯一原生跳转匹配括号快捷键,需光标精确落在括号字符上、"match_brackets": true开启且语法识别正确(如javascript而非plain text),三者缺一不可。

Ctrl+M(Windows/Linux)或 Cmd+M(macOS)是唯一原生支持的跳转匹配括号快捷键,但光标必须落在括号字符上才能触发——停在括号内部、外侧或空格里都不行。
光标必须卡在括号字符上,不是“附近”
这个功能对光标位置极其敏感。比如 if (x > 0) { console.log(y); },只有当光标精确停在 (、)、{ 或 } 这四个字符之一上时,Ctrl+M 才会响应。
- 光标在
x上、console.log里、{和console之间的空格里 → 不跳转 - 光标在
{字符上 → 按一次跳到对应},再按一次跳回来 - 嵌套结构中(如
func([a, {b: 1}])),它总匹配当前层级最近的一对,不会跨层错位
match_brackets 设置必须为 true
即使快捷键没按错,跳转失效也常因括号匹配识别被关掉。Sublime 默认开启该功能,但自定义配置或精简安装可能覆盖它。
- 打开
Preferences → Settings,检查右侧用户设置中是否有"match_brackets": true - 如果写成
false、"match_bracket"(少个 s)、或整行被注释掉,都会导致Ctrl+M完全无反应 - 这个设置只控制“是否启用括号匹配逻辑”,和高亮显示无关;高亮失效是另一回事
语法识别错误会让括号配对彻底失效
Sublime 不是靠正则硬匹配括号,而是依赖语言语法包解析作用域。如果右下角显示的是 Plain Text,那 { 和 } 就只是普通字符,Ctrl+M 必然不工作。
- 点击编辑器右下角语言名(如
Plain Text),手动选成JavaScript、Python、HTML等对应模式 - HTML 中的
<div> 标签对也受此机制支持,但需当前语法为 <code>HTML而非XML或Text - 正则表达式字面量里的括号(如
/(\d+)/)容易误判,可临时切到RegExp语法模式再试 - 打开
Preferences → Key Bindings,搜索jump_to_matching_bracket - 确认右侧用户键位绑定中,
keys字段是["super+m"](super= Cmd),不是["ctrl+m"]或空数组 - 如果发现被插件覆盖,直接删掉冲突项;或临时切换英文输入法再试
Mac 用户注意 Cmd+M 和输入法冲突
macOS 下 Cmd+M 是系统级“最小化窗口”快捷键,Sublime 默认已重映射,但部分输入法(尤其是中文)或安全软件会劫持该组合键。
真正卡住人的从来不是快捷键记不住,而是光标位置、语法模式、设置开关这三者中任意一个没对齐——它们缺一不可,且没有容错提示。











