Skip to content
Emmet command line interface
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


emmet command line interface.


$ emmet abbr
$ echo abbr | emmet


$ emmet '#foo>*3'

outputs on stdout:

<div id="foo">
  <span class="bar"></span>
  <span class="bar"></span>
  <span class="bar"></span>

$ echo '!' | emmet

outputs on stdout:

<!DOCTYPE html>
<html lang="en">
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">

Use the -p flag to include placeholders in the output:

$ echo '#foo>*3' | emmet -p

outputs on stdout:

<div id="foo">
	<span class="bar">${1}</span>
	<span class="bar">${2}</span>
	<span class="bar">${3}</span>

These syntax should be compatible with snippets formats like the one used by lsp servers


$ npm i -g emmet-cli
$ yarn global add emmet-cli


emmet is a great plugin available in many modern code editors. It aims mainly at working with HTML easier.

It's written in JavaScript so there's no easy way run it without node.js.

This module is currently a dead simple (like 10 lines of code) way to use the compiler as a CLI. It uses a few modules from @emmet-io which is an effort for emmet 2.x to decouple all its internal bits.

My main usage currently is with kakoune's ! command which blindly insert the output of emmet into the current buffer or the | command which pipes selections contents to emmet's stdin.

In the future, I'll try to improve this scenario further by combining with cool stuff like phantom selectons.

According to its README, the HTML matcher would be a nice way to grab coordinates that may be turned into text-objects, but the findPair function is nowhere to be found (yet).

See Also



You can’t perform that action at this time.