Sublime Text括号自动补全必须显式设置auto_match_enabled为true,否则完全不触发;需检查用户设置、语法专属设置、Emmet/Vintage插件干扰及输入位置是否为空白处。

auto_match_enabled没开,括号根本不会自动补
Sublime Text 默认不自动补括号——哪怕你装的是最新版,只要 auto_match_enabled 没在用户设置里显式设为 true,它就完全不工作。这不是“默认开启但被关了”,而是“默认不继承、必须亲手写”。
打开 Preferences → Settings,只看右侧(User Settings):如果里面是空的,直接贴入:{"auto_match_enabled": true};如果已有内容,确认这一行存在、拼写准确、引号完整、末尾没多余逗号。
保存后立即生效,不用重启。
输(没反应?先看光标前是不是字母或数字
Sublime 的括号补全有触发条件:只在「空位置」生效。比如你在 if (x > 0) 后面接着敲 {,它不会补;但光标停在空白行、函数参数中间、或者刚敲完空格再按 (,就会立刻补上 () 并把光标停在中间。
常见误判场景:
• 当前文件语法被识别为 Plain text(右下角显示 Plain Text)——点它手动切到对应语言,如 JavaScript 或 Python
• 光标前是字母、数字或下划线(例如 func(),Sublime 会认为你在调用函数,主动抑制补全
• 输入法是中文——中文输入法输出的是全角符号,auto_match_enabled 收不到原始按键
auto_insert_matching_bracket 和 auto_close_quotes 是什么
auto_insert_matching_bracket 控制换行/Tab 时是否维持括号结构:比如光标在 if (true) { 末尾按回车,它会让下一行缩进并自动补上 };auto_close_quotes 则单独控制引号补全(" 和 '),设为 false 就能关掉引号自动闭合,而保留括号功能。
这两个设置和 auto_match_enabled 是正交的,可以组合使用:
• 只想补括号不补引号?加 "auto_close_quotes": false
• 希望按 Tab 时自动补右括号?确保 "auto_insert_matching_bracket": true
• 它们默认值都是 true,但前提是 auto_match_enabled 已启用
插件和语法专属设置会偷偷关掉括号补全
即使用户设置写对了,也可能失效:
• 打开一个 .py 文件,再点 Preferences → Settings – Syntax Specific,检查右侧是否有 "auto_match_enabled": false —— 这个设置优先级高于全局配置,且不报错、不提示,删掉或改成 true 即可
• Emmet 和 Vintage 插件会劫持 {、' 等按键,导致 auto_match_enabled 根本没机会运行。临时验证:菜单栏 Preferences → Package Control → Disable Package,逐个禁用这两个插件
• match_brackets 是另一回事:它只负责高亮匹配括号,和补全无关;别把它和 auto_match_enabled 搞混


















