emmet需手动安装sergeche官方版并重启才生效;验证方法为命令面板搜emmet命令、设语法为html、输入html:5后按ctrl+e生成骨架,tab默认不绑定且易冲突。

Sublime Text 4 默认不带 Emmet,必须手动安装 Emmet(作者 sergeche)并重启才能用;html:5 按 Tab 没反应,90% 是没设对语法模式或根本没重启。
怎么确认 Emmet 真装上了?
别信“我点过安装了”。装完必须重启 Sublime Text 4,否则 html:5、div.item 全部静默失效。验证方法很简单:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Emmet,看命令面板里是否列出Emmet: Expand Abbreviation等选项 - 新建一个空文件,按
Ctrl+Shift+P→ 输入Set Syntax: HTML回车,右下角显示HTML - 输入
html:5,再按Ctrl+E(不是Tab),如果生成完整 HTML5 结构,说明插件本身工作正常
为什么 Tab 总是只缩进、不展开?
Tab 在 Sublime Text 4 中默认不绑定给 Emmet,它优先服务缩进逻辑。哪怕你装对了、重启了、语法也设对了,Tab 仍可能被 AutoIndent、EditorConfig 或主题插件劫持。
- 最稳的触发方式是统一用
Ctrl+E(Windows/Linux)或Cmd+E(macOS)——这个快捷键几乎不会冲突 - 想改回
Tab展开?在Preferences → Key Bindings用户设置里加这一行:[{"keys": ["tab"], "command": "emmet_expand_abbreviation", "context": [{"operand": "source.text.html"}]}] - 注意:加了这行后,
Tab在 HTML 文件里就只负责展开,不再自动缩进;如果需要缩进,得手动用Ctrl+[/Ctrl+]
div.container 写对了但没生成?检查这三个细节
Emmet 不报错、不提示、不纠错,写错一个字符就彻底静默。高频翻车点就这几个:
-
div .container❌(点号前有空格)→ 正确是div.container -
a[href=#top]❌(属性值没引号)→ 必须写成a[href="#top"]或a[href='#top'] -
ul + li*3❌(想嵌套却用了+)→ 子元素必须用>,即ul>li*3 -
lorem单独写无效 → 必须带数字,如lorem10才生成 10 字占位文本
Vue/JSX 里想用 ul>li*3 怎么办?
Emmet 默认只在纯 HTML 语法下激活。Vue 单文件组件里的 <template></template> 块、JSX 里的 JSX 元素,编辑器识别为 Vue 或 JavaScript React,Emmet 就不响应。
- 临时方案:选中那段 HTML,按
Ctrl+Shift+P→Set Syntax: HTML,展开完再切回去 - 长期方案:在
Preferences → Package Settings → Emmet → Settings用户设置里加:"emmet_include_languages": {"vue-html": "html", "javascriptreact": "html"} - 注意:这个配置只对新打开/新建的文件生效,已打开的 Vue 文件需手动重载语法或重启 Sublime
真正卡住人的从来不是语法多难,而是你输完 div#app 按 Tab 没反应时,第一反应是“插件坏了”,而不是低头看右下角是不是还写着 Plain Text。多试一次 Ctrl+E,比重装十遍都管用。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











