
Sublime Text 默认不自动删除成对括号,需用原生命令 Expand Selection to Brackets 先选中整对括号再删除;可绑定快捷键 Ctrl+Alt+B(Windows)或 Cmd+Alt+B(macOS)提升效率。
Sublime Text 默认不支持“选中括号时按 Delete 或 Backspace 自动删掉成对括号”,但可以通过原生功能或简单配置实现类似效果——关键不是装插件,而是理解它怎么处理括号匹配和删除逻辑。
Sublime 默认把 (、[、{ 视为“开启字符”,它们的闭合符()、]、} 是独立字符。光标在括号内时按 Backspace,只会删光标前一个字符;光标在左括号上按 Delete,也只删左括号本身——它不会主动感知“这对括号是配对的”。
真正起作用的是两个机制:括号高亮匹配(靠 match_brackets)和智能删除范围(靠 auto_match_enabled 和键绑定)。
auto_match_enabled 控制是否自动补全右括号(如输 ( 后自动加 )),但它不影响删除行为bracket_highlighter 插件(非原生)或 Sublime 原生的 expand_selection 命令Ctrl+Shift+P + Expand Selection to Brackets 快速选中这是 Sublime 原生支持、无需插件的方法。只要光标落在一对括号内(包括括号本身),就能一键选中整个括号块(含内容)。
Ctrl+Shift+P,输入 Expand Selection to Brackets,回车Cmd+Shift+P,同样搜这个命令if (x > 0) { console.log("ok"); } 的任意位置,会选中从 ( 到 ) 或从 { 到 } 的完整范围Delete 或 Backspace,就一次性删掉整对括号及其中内容注意:它默认只匹配最近的一层括号。嵌套时(比如 func([a, b])),需多次触发该命令,逐层向外扩展选择。
Expand Selection to Brackets 绑定快捷键(推荐)每次调 Ctrl+Shift+P 太慢。直接绑定到常用组合键更高效:
[
{ "keys": ["ctrl+alt+b"], "command": "expand_selection", "args": {"to": "brackets"} }
]
把这个加到你的 Preferences → Key Bindings – User 文件里(确保是 JSON 数组格式,前后有逗号注意)。之后按 Ctrl+Alt+B(Windows)或 Cmd+Alt+B(macOS)就能秒选括号。
Ctrl+B:它已被设为 Build 系统占用Ctrl+Shift+M(选中括号内内容,不含括号本身)混淆BracketHighlighter 插件,它的 select_scope 命令行为略有不同,优先用原生命令更稳定Ctrl+Shift+M 配合剪切有时候你只想去掉括号,比如把 (x + y) 变成 x + y。这时不能直接删,得“摘掉壳”:
Ctrl+Shift+M(Windows/Linux)或 Cmd+Shift+M(macOS)——它会选中括号内的内容,不包含括号本身
Ctrl+X 剪切Ctrl+Shift+M(此时会选中整对括号),按 Delete
Ctrl+V 粘贴回来这个流程略繁琐,但纯原生、零依赖。如果高频使用,可以用插件(如 BracketPack)添加 remove_brackets 命令,不过多数人用上面三步法已足够。
真正容易被忽略的是:Sublime 的括号匹配依赖语法定义(.sublime-syntax 文件里的 bracket_rules)。如果你在自定义语言或 Markdown 中发现括号不匹配,不是设置问题,而是语法文件没声明括号对——这时候任何键绑定都无效。