Sublime Text 默认不自动闭合 HTML 标签,需依赖 Emmet 插件(v4.126+已内置)或原生命令 Ctrl+Shift+.(Win/Linux)/Cmd+Shift+.(macOS)手动触发;原生 auto_close_tags 仅在 HTML 语法模式下生效,且易被插件干扰。

Sublime Text 默认不自动闭合 HTML 标签,所谓“自动闭合”实际依赖插件或手动触发,不是开箱即用的功能。原生 auto_close_tags 仅在特定条件下生效,且常被 Emmet 或第三方插件覆盖或干扰。
确认当前是否真启用了 auto_close_tags
很多人以为装完 Sublime 就能敲 Sublime Text 4 ≥ v4126 已原生集成 Emmet,旧版需手动安装。它不靠 等插件响应、调设置、切语法模式太慢。真正写代码时最常用的,是原生命令 这个插件(作者 wingyplus)确实在输 真正容易被忽略的是:所有自动机制都依赖“当前文件被正确识别为 HTML”。右下角显示 > 自动补全,结果没反应——大概率是这个设置被关了,或者根本没生效。
HTML(不是 Plain Text、XML 或 JavaScript)Preferences > Settings,检查用户设置里有没有 "auto_close_tags": false;有就删掉,或改成 true
auto_close_tags(复数),不是 auto_close_tag(单数)——后者是 Emmet 的配置项,混用会失效Emmet 是最稳的闭合方案,但得配对启用
> 触发,而是靠 Tab 展开缩写,逻辑更可控。
Preferences > Package Settings > Emmet > Settings 中 "auto_close_tag": true 存在且为 true
、、 这类自闭合标签默认不补结束符——这是正确行为,别乱开 auto_close_self_closing_tag
div 后按 Tab → 得到 ;输入 ul>li*3 按 Tab → 直接生成完整列表结构Tab 没反应,先看右下角语法模式;.vue 文件中只在 区域生效,<script></script> 里要切到 JavaScript (React) 才支持 JSX 缩写快捷键闭合比自动补全更可靠
close_tag,不依赖任何插件或语法识别。
)或标签名中间,按
Ctrl+Shift+.(Windows/Linux)或 Cmd+Shift+.(macOS)Plain Text 也照常工作别装 AutoCloseTag 插件,除非你明确需要实时 > 补全
,但它和 Emmet 共存极易出问题。> 就补
> 补了一次,再按 Tab 又补一次,变成
)、SVG 命名空间标签()基本不识别,不是配置能解决的auto_close_tag,并在插件设置里开 "html_self_closing_tag": true,否则 会被硬塞
)默认不处理Plain Text 时,哪怕你把所有设置都调对了,也等于零。遇到闭合失效,第一反应不该是改配置,而是点一下右下角,手动切回 HTML。











