关闭括号引号自动补全只需在User Settings中设"auto_match_enabled": false,但需排查语法专属设置覆盖和Emmet/Vintage插件劫持;细粒度控制可用"auto_close_quotes": false等参数。

关掉括号自动配对,只改 auto_match_enabled 为 false 就够了;但改完没效果,八成是被语法专属设置或 Emmet/Vintage 插件劫持了输入。
怎么在 User Settings 里全局开关括号引号补全
Sublime 不继承默认设置里的 auto_match_enabled 值,你必须在右侧「User Settings」面板里显式写出来:
- 要开启:加一行
"auto_match_enabled": true - 要关闭:加一行
"auto_match_enabled": false - 已有其他配置?确保 JSON 合法:引号闭合、末尾逗号位置正确、键名别拼成
auto_match_enable - 保存(
Ctrl+S)后立刻生效,不用重启、不重载、不刷新
为什么改了 auto_match_enabled 还是没反应
最常见原因是右下角显示的语法名(比如 JSON、Python)悄悄覆盖了你的全局设置——它的优先级更高,且不报错、不提示:
- 打开一个不生效的文件(如
config.json) - 点击右下角语法名 →
Settings – Syntax Specific - 检查右侧是否有
"auto_match_enabled": false:有就删掉,或改成true/false - 如果右侧为空,手动加一行
"auto_match_enabled": false(或按需设为true) - 这个设置只影响当前语法类型的所有文件,比如所有
.json文件
Emmet 和 Vintage 插件会让 auto_match_enabled 彻底失效
这两个插件会在你按下 (、"、' 的瞬间拦截按键事件,导致 auto_match_enabled 根本没机会运行——这不是 bug,是设计如此:
- 临时验证:菜单栏
Preferences → Package Control → Disable Package,逐个禁用Emmet和Vintage,再试输入 -
Emmet用户可保留插件,在其用户设置中加:"disable_auto_insertion": true -
Vintage用户可在Preferences → Package Settings → Vintage → Settings – User中加:"vintage_start_in_command_mode": false
想只关引号、留着括号?用细粒度开关
较新版本 Sublime 支持分开控制,auto_close_quotes 和 auto_close_brackets 的优先级高于 auto_match_enabled:
- 只关引号(
""、''),留括号(()、[]、{}):"auto_close_quotes": false,不写auto_close_brackets(它默认为true) - 注意:只要这两个参数存在,
auto_match_enabled的值就完全不起作用 - 它们同样受语法专属设置覆盖,同样要检查右下角语法名对应的
Settings – Syntax Specific
真正容易被忽略的是:语法专属设置和插件劫持这两层干扰,它们不会报错、不弹提示、也不影响其他功能,只会让配置“看起来生效了,其实没动”。调的时候得一个个排除,不能只盯着 User Settings 看。

















