ctrl+b 是跳转配对括号的快捷键,仅将光标在成对且语法闭合的括号间切换,需启用“括号匹配”设置、光标位于括号上、文档类型正确,不选中文本也不支持嵌套逐层跳转。

Ctrl+B 是跳转配对括号的快捷键,不是选中
很多人按 Ctrl+B 后发现没反应,或光标乱跳,其实它只做一件事:把光标从左括号移到右括号(或反过来),不选中文本、不扩展、不高亮。常见误操作是把它和 Ctrl+Shift+P(选中括号内容)混淆。
必须满足三个前提才生效:
- 当前文档已启用括号匹配(设置 → 首选项 → 性能 → 勾选「括号匹配」)
- 光标正落在
(、[、{或对应右括号上(不能在括号中间、不能在字符串里) - 这对括号是语法上成对且闭合的(比如
if (x > 0 {就找不到匹配,因为{缺少})
括号高亮不开,Ctrl+B 就等于没装
Ctrl+B 依赖底层括号匹配引擎,而这个引擎默认是关闭的。很多人调了颜色、改了字体,却漏掉最基础的开关——它不在「样式配置器」,也不在「语言设置」里,而在「设置 → 首选项 → 性能」面板中,叫「括号匹配」。
勾选后无需重启,但要注意:
- 部分旧版(尤其是 64 位 v7.x)需要光标先移出括号再移回来,高亮和跳转才触发
- 如果文件类型识别错误(比如 .json 被当成「文本」而非「JSON」),括号匹配会失效——右下角语言栏确认显示的是正确语言名
- v8.6+ 版本修复了高亮色显示为白色的问题,低于此版本遇到白框,基本就是渲染 bug,不是设置问题
嵌套多层时 Ctrl+B 只跳最近一对,不能逐层跳
Ctrl+B 永远只定位到**当前光标所在括号的直接配对项**,不会“往外跳”或“往内跳”。例如光标在 {{a}} 最外层 {,按一次 Ctrl+B 到最外层 };光标在中间那个 {,就只跳到中间那个 }。
想快速定位嵌套结构的边界,得换方式:
- 把光标放任一括号上,按
Ctrl+Shift+P—— 这会选中内容,同时光标也停在匹配括号上,相当于间接跳转 - 装 XBrackets 插件后,
Alt+Q不仅能选中,还能连续按多次向外扩展选区,顺便把光标带到外层括号位置 - 用鼠标悬停在括号上,等几毫秒会出现灰色提示线连接配对括号(需开启括号匹配且文档类型正确)
为什么 Ctrl+B 有时跳到奇怪位置?
典型现象:光标在 function() { 的 { 上,按 Ctrl+B 却跳到了后面某个 },甚至跳到注释里去了。这不是 bug,而是 Notepad++ 的 lexer 按语法规则解析的结果。
根本原因有三:
- 当前语言模式不支持该括号对(比如在「纯文本」模式下,
和 <code>>不会被识别为括号) - 中间存在未闭合或被注释掉的括号(如
/* { */会让后续}失去配对意义) - 代码里有字符串或正则字面量含括号(如
"{hello}"中的{不参与匹配,但 lexer 识别错误时会误判)
这种情况下,别硬调快捷键,先切到正确语言模式(右下角点击切换),或临时用 Ctrl+F 手动搜 } 更可靠。











