ctrl+m/cmd+m跳括号必须光标精确落在(、)、{、}、[、]任一字符上,停在内部或空格旁均无效;需确保语法模式正确、英文输入法启用且"match_brackets":true未被禁用。

Ctrl+M 跳括号必须光标“踩在括号上”,不是里面也不是旁边
Sublime 的 Ctrl+M(Windows/Linux)或 Cmd+M(macOS)只响应光标**精确落在 (、)、{、}、[、] 这六个字符上**。停在 if (x > 0) { 的 x 上,或 ( 左边一个空格处,它就完全静音。
常见救法:
- 用
Ctrl+←或Ctrl+→快速跳词,把光标“钉”到最近的括号字符上再按 - 右下角显示
Plain Text?点它手动切为JavaScript、Python等对应语法模式 - 中文输入法下热键常被系统拦截,切英文输入法再试
- 检查用户设置里是否误关了
"match_brackets": true(默认开启,但精简配置可能删掉)
Tab 键跳出括号/引号要自己配,原生不支持
Sublime 默认没有 “按 Tab 跳出当前括号或引号” 的功能。网上流传的 {"keys": ["tab"], "command": "move"} 是错的——move 命令不存在,加了反而报错。
真正可用的方案是绑定 move_to 命令:
[
{"keys": ["tab"], "command": "move_to", "args": {"to": "bracket", "extend": false}}
]
但注意:这个命令只在光标位于括号内时生效,且会跳到**匹配括号的右侧边界**(比如光标在 {a: 1} 的 a 上,按 Tab 后停在 } 右边)。它不处理引号,也不支持嵌套多层自动跳。
更稳的做法是:选中内容后直接输入左符号(如 "、(),Sublime 自动包裹并把光标停在右符号前——这才是盲打最顺的手感。
Ctrl+Shift+M 选块 vs Ctrl+Shift+Space 扩展选区,别混用
Ctrl+Shift+M(macOS 是 Cmd+Shift+M)的行为取决于光标起始位置:
- 光标在
{或}上 → 选中整个{...}(含括号) - 光标在
{ a: 1 }的a: 1中 → 只选a: 1(不含括号)
Ctrl+Shift+Space(macOS 是 Cmd+Shift+Space)则始终以“包围符内内容”为第一目标,不管光标在哪,只要上下文可识别,就优先选内部(不含括号),再按一次才往外扩到括号边界。
两者关键区别:
-
Ctrl+Shift+M是“结构锚定”:靠括号对定位,适合删整块、改函数体 -
Ctrl+Shift+Space是“作用域扩展”:靠语法 scope 推断,对 JSX、Vue SFC、带注释的 JSON 更鲁棒
HTML 标签和引号内容得另配命令,原生不认
Ctrl+M、Ctrl+Shift+M、Ctrl+Shift+Space 全部不支持 HTML 标签(如 <div>)和引号(如 <code>"text")的智能跳转或选中。
想快速选中引号内文本(不含引号):
- 用命令面板:
Ctrl+Shift+P→ 输入Select Between Quotes→ 回车 - 或提前在用户键位中绑定:
[{"keys": ["ctrl+shift+q"], "command": "select_between_quotes"}]
想跳转匹配标签(如从 <div> 跳到 <code>











