Emmet 在 Sublime Text 中需同时满足三条件才能生效:语法设为 HTML、Tab/Ctrl+E 未被劫持、缩写字符串完全正确;右下角显示非 HTML 时无效,Vue 文件需配置 emmet_include_languages,Sublime Text 4 需手动启用 emmet_enabled。

Emmet 在 Sublime Text 里根本不是“开挂”,而是「三把锁同时打开才能转」:语法识别必须是 HTML,Tab(或 Ctrl+E)没被劫持,缩写字符串一个字符都不能错——缺一不可。
右下角显示 Plain Text 就别按 Tab 了
Emmet 不看文件名、不读后缀,只认编辑器右下角那个小标签。哪怕你刚保存成 index.html,只要那里写着 Plain Text 或 JavaScript,html:5 按 Tab 就绝对没反应。
- 新建文件后立刻按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Set Syntax: HTML回车 - Vue 单文件组件要写
<template>块内缩写?得在Preferences → Package Settings → Emmet → Settings用户设置里加:"emmet_include_languages": {"vue-html": "html", "javascriptreact": "html"} - Sublime Text 4 默认禁用 Emmet,用户设置里必须显式写
"emmet_enabled": true
Tab 键没反应?先试 Ctrl+E
Tab 是最易被劫持的快捷键——AutoIndent、EditorConfig、甚至某些主题都会吞掉它,结果就是你敲完 div.container 一按 Tab,只缩进、不展开。
- 用
Ctrl+E测试:只要它能展开,说明 Emmet 本身正常,问题出在快捷键冲突 - 脚本块里(比如
<script>标签内)默认不生效,必须靠emmet_include_languages配置激活 - 不想改配置?直接切到
<body>外层空白处写缩写再Ctrl+E,绕过限制
缩写写错一个字符,Emmet 就当没看见
它不做纠错、不报错、不提示,只做精确字符串匹配。漏个点、多空格、引号不闭合、括号位置错——整条缩写就静默失效。
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
立即学习“前端免费学习笔记(深入)”;
-
div.container#header[data-role="banner"]✅;div .container❌(点前不能有空格) -
a[href="#top"].btn✅;a[href=#top]❌(属性值必须引号包裹) -
ul>li*3✅(子元素);ul + li*3❌(这是兄弟关系,生成的是<ul></ul><li></li><li></li><li></li>) -
lorem10✅;lorem❌(不带数字不触发)
别指望 Emmet 校验语义或修复结构
它只管生成,不管对错。比如 span>div 会照常展开成 <span><div></div></span>,但 HTML 规范明确禁止块级元素嵌套在 <span> 里——Emmet 不提醒、不拦截、不修正。
真正省时间的是把 html:5、ul>li*3、div.container>h1+p、a[href=#]{Click} 这几个高频组合练成肌肉记忆;复杂嵌套建议分步写,比如先写 div.container → Tab 展开,再进里面写 header+main+footer → 再 Tab,漏掉一个 > 就得重来。


















