Emmet 在 Sublime Text 4 中需同时满足三个条件才生效:正确安装 Package Control、安装 sergeche 官方 Emmet 插件、右下角语法设为 HTML;默认触发键是 Ctrl+E/Cmd+E,Tab 需手动配置 context 绑定。

Emmet 在 Sublime Text 4 中不会自动生效,装完插件却按 Tab 没反应,几乎一定是没满足三个硬条件:Package Control 没装对、插件不是 sergeche 官方版、右下角语法没设成 HTML。
Package Control 装没装好,Emmet 根本进不来
手动拖 ZIP 包、双击安装、或从非官方渠道下载 Emmet,全是“假安装”:命令面板搜不到 emmet_expand_abbreviation,Preferences → Package Settings 里压根没有 Emmet 选项。
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Package Control—— 能弹出菜单才算到位 - 如果报
urllib.error.URLError或空白无响应,说明企业网络拦截了https://packagecontrol.io;直接去官网下载Package Control.sublime-package,放进Installed Packages/目录,重启 Sublime - 控制台执行安装脚本时,必须用官网最新 HTTPS 地址:
https://packagecontrol.io/installation;旧的http://sublime.wbond.net已在 2026 年起强制失效
只认 Emmet(首字母大写,作者 sergeche)
Sublime Text 4 不再内置 Emmet,但搜 emmet(小写)、Emmet Snippets 或 Emmet Live 都会装错分支——它们不支持 .vue 映射、缺失设置入口、Ctrl+E 不响应。
- 按
Ctrl+Shift+P→ 输入Package Control: Install Package→ 回车等待列表加载完成 - 输入
Emmet(注意大小写、不能少字母、不能多空格),只选作者显示sergeche的那一项 - 安装后必须重启 Sublime Text;否则
html:5、ul>li*3等缩写完全无响应——这是 2026 年用户卡住的第一步
右下角不是 HTML,Emmet 直接无视你写的任何缩写
Emmet 不看文件后缀名,只认右下角状态栏显示的语法类型。新建文件默认是 Plain Text,此时敲 div.container + Ctrl+E 也不会有任何反应。
立即学习“前端免费学习笔记(深入)”;
- 新建文件后,按
Ctrl+Shift+P→ 输入Set Syntax: HTML→ 回车,右下角出现HTML两个字才算到位 - 别只输
div测试——它在非 HTML 模式下可能被 Sublime 自带补全劫持;真正有效的测试是html:5或ul>li*3 - 如果右下角始终不显示目标语法,检查是否误点了
Revert to Saved,或文件被自动识别为XML、PHP等变体(它们默认不启用 Emmet)
Ctrl+E 是默认触发键,Tab 要自己配
Sublime Text 4 默认不绑定 Tab 到 Emmet;真正生效的是 Ctrl+E(Win/Linux)或 Cmd+E(macOS)。想改回 Tab,得手动加 context 限定,否则会和原生补全冲突。
- 验证是否生效:输入
ul>li*3,光标紧贴行尾,按Ctrl+E,应立刻生成带 3 个<li></li>的结构 - 如需绑定
Tab,打开Preferences → Key Bindings(用户配置),加这段:
[
{
"keys": ["tab"],
"command": "emmet_expand_abbreviation",
"context": [
{ "key": "selector", "operator": "equal", "operand": "source.css, text.html" }
]
}
]
context 里的 operand 必须包含 text.html,否则在 HTML 文件里仍不触发最常被忽略的是:即使所有步骤都做了,Preferences > Settings – Syntax Specific 里若存在 "emmet_enabled": false 或 "auto_complete": false,也会静默禁用 Emmet。这类配置优先级高于全局设置,且不易察觉。



















