全局禁用括号和引号自动配对只需在User Settings中设置"auto_match_enabled": false,且需检查Syntax Specific设置是否覆盖;Emmet和Vintage插件会劫持输入导致失效。

直接关掉括号自动补全,只改 auto_match_enabled 这一个开关就够了,不用动插件、不用删包、也不用重启。
怎么全局禁用括号和引号自动配对
Sublime 的括号、引号、方括号、花括号、反引号的自动补全,全部由 auto_match_enabled 统一控制。它关了,所有成对符号都不再自动补全;开了,就全开——没有“只关圆括号留引号”这种原生选项。
- 打开
Preferences → Settings,专注看右侧「User Settings」面板 - 在里面加一行:
"auto_match_enabled": false - 保存(
Ctrl+S),立刻生效;不重启、不重载、不刷新 - 如果已有其他设置,确保这行是合法 JSON:逗号位置正确、引号闭合、没拼错成
auto_match_enable或auto_match_enableds
为什么改了设置还是自动补全?优先级陷阱在这里
即使 User Settings 写对了,auto_match_enabled 仍可能被覆盖——语法专属设置(Syntax Specific)的优先级更高,且静默生效,不报错也不提示。
- 打开一个不生效的文件(比如
config.json或main.py) - 再点
Preferences → Settings – Syntax Specific - 看右侧是否已有
"auto_match_enabled": false或"auto_match_enabled": true:有就删掉或改成false;空就手动加一行"auto_match_enabled": false - 这个设置只影响当前右下角显示的语法名(如 “JSON”、“Python”)对应的所有文件
Emmet 和 Vintage 插件会劫持输入,不是设置失效
这两个插件会直接拦截 (、{、' 等按键事件,导致 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 - 别把
match_brackets高亮和补全搞混:match_brackets控制括号高亮,和自动补全无关
想精细控制?原生不支持,但有折中办法
Sublime 没法单独关掉 {} 却留着 "",也没法按文件后缀区分开关。真要拆分,得靠外部插件(如 BracketHighlighter + 自定义键绑定),但配置复杂、维护成本高,多数人没必要。
- 临时绕过:输完
(后按→(右方向键),光标直接跳到右括号外 - 误触发后按
Ctrl+Z撤销,比手动删更稳 - 如果只是讨厌
{}在 JSON 里乱跳,但喜欢""在字符串里补全——那只能接受原生限制,或换用支持 LSP 的编辑器

















