Sublime Text 需通过 Package Control 安装 Emmet 插件并重启才能使用,Tab 展开需满足语法设为 HTML、光标在行末且无前置内容,常见问题包括安装路径错误、未重启、快捷键冲突及输入法干扰。

Sublime Text 本身不自带 Emmet,必须手动安装插件才能用——装错渠道、没重启、快捷键冲突是新手卡住的三大主因。
安装 Emmet 插件必须走 Package Control
别下载 ZIP 手动解压到 Packages 目录,容易漏依赖或路径错。正确流程是:
- 确保已安装
Package Control(没装就先按Ctrl+`调出控制台,粘贴官方安装脚本) - 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板 - 输入
Package Control: Install Package回车 - 等待列表加载完,输入
Emmet,选中并回车安装 - 安装完成后**必须重启 Sublime Text**,否则
Tab展开不生效
默认 HTML 展开快捷键是 Tab,但必须满足前置条件
Tab 能把 ul>li*3 变成完整列表,前提是:
- 当前文件语法必须设为
HTML(右下角状态栏显示,点它可切换;或按Ctrl+Shift+P→ 输入Set Syntax: HTML) - 光标必须在行末、且该行只有 Emmet 表达式(不能前面有空格或文字,否则会当成普通缩写补全)
- 如果按
Tab没反应,检查是否被其他插件劫持:进Preferences → Key Bindings,搜索tab,确认没有覆盖{"keys": ["tab"], "command": "emmet_expand_abbreviation"}
常用 Emmet 缩写与实际效果对照
这些不是“记忆口诀”,而是日常高频组合,直接复制到 HTML 文件里试:
立即学习“前端免费学习笔记(深入)”;
div.container>ul.nav>li*3>a{Item $}
section#main>(article.post>h2+h3+p)*2
form[action="/login"]>input:text[name="username"]+input:password[name="password"]+button[type="submit"]
注意:$ 是计数符,* 控制重复次数,> 表示父子,+ 表示兄弟,{} 插入文本。括号优先级高于 > 和 +,嵌套深时建议加括号明确结构。
Mac 上 Tab 失效?可能是系统输入法或 Caps Lock 干扰
尤其用中文输入法时,Tab 会被系统拦截用于候选词切换。解决办法:
- 切到英文输入法再按
Tab - 关掉系统“按下 Caps Lock 切换输入源”(macOS 系统设置 → 键盘 → 输入源)
- 临时禁用输入法:按
Cmd+Space切出,或用Ctrl+Space(取决于设置) - 若仍不行,在
Preferences → Package Settings → Emmet → Settings中添加:"disable_tab_abbreviations_on_auto_insert": false
Emmet 的核心不是记多少缩写,而是理解 >、+、* 这三个符号如何组合层级和数量——其它都是它们的排列组合。缩写写错一次,比查半天文档更记得牢。











