Emmet is a toolkit for high-speed HTML, XML, XSL (or any other structured code format) coding and editing. The core of this plugin is a powerful abbreviation engine which allows you to expand expressions—similar to CSS selectors—into HTML code. For example:
div#page>div.logo+ul#navigation>li*5>a
…can be expanded into:
<div id="page">
<div class="logo"></div>
<ul id="navigation">
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</div>
Read more about current Emmet syntax
Abbreviation engine has a modular structure which allows you to expand abbreviations into different languages. Emmet currently supports CSS, HTML, XML/XSL and HAML languages via filters.
- ID and CLASS attributes:
div#page.section.main
. - Custom attributes:
div[title]
,a[title="Hello world" rel]
,td[colspan=2]
. - Element multiplication:
li*5
will output<li>
tag five times. - Item numbering with $ character:
li.item$*3
will output<li>
tag three times, replacing $ character with item number. - Multiple ‘$’ characters in a row are used as zero padding, i.e.:
li.item$$$
→li.item001
- Abbreviation groups with unlimited nesting:
div#page>(div#header>ul#nav>li*4>a)+(div#page>(h1>span)+p*2)+div#footer
. You can literally write a full document markup with just a single line. - Filters support
div
tag name can be omitted when writing element starting from ID or CLASS:#content>.section
is the same asdiv#content>div.section
.
To better understand how Emmet works, watch demo video and read Smashing Magazine tutorial.
Emmet isn’t only a decent abbreviation engine, it also provides some very useful actions for HTML-coder’s every day needs, like: Wrap with Abbreviation, Tag Balancing, Toggle Comment, Remove Tag etc. Read more about available actions.
These plugins are developed by Emmet team and guarantee to have full support of all Emmet latest features.
- Aptana/Eclipse (crossplatform) — Emmet for Eclipse
- TextMate (Mac) — external download
- Coda 1.6 and 2.x (Mac) — external download
- Espresso (Mac) — external download
- Komodo Edit/IDE (crossplatform) — external download
- Notepad++ (Windows)
- PSPad (Windows)
<textarea>
(browser-based). See online demo.- CodeMirror2 (browser-based). See online demo.
These plugins are using official Emmet engine and developed by third-party developers. Thus, no guarantee that they support all latest ZC features.
- Dreamweaver (Windows, Mac)
- Sublime Text (Windows)
- UltraEdit (Windows)
- TopStyle (Windows)
- GEdit (crossplatform) — Franck Marcia’s plugin, Mike Crittenden’s plugin
- BBEdit/TextWrangler (Mac) — external download
- Visual Studio (Windows) — external download
- EmEditor (Windows) — external download
- Sakura Editor (Windows) — external download
- NetBeans (crossplatform) — external download
- Chrome Extension — external download
- ShiftEdit – online IDE
These plugins are developed by third-party and has their own ZC engine implementation, which leads to different feature set and abbreviation syntax. Emmet team has no relation to this projects.
- IntelliJ IDEA/WebStorm/PHPStorm (crossplatform) — built-in in latest versions
- Emacs (crossplatform) — external download
- Vim (crossplatform) — Sparkup, Zen Coding for Vim
- ReSharper plugin for Visual Studio