Vim script Makefile
Latest commit 5442207 Jan 14, 2017 @mattn committed on GitHub Merge pull request #363 from jankjn/patch-1
fix script tag
Failed to load latest commit information.
autoload fix script tag Jan 14, 2017
doc Fix typo in documentation Jul 7, 2016
plugin bump up version Jul 26, 2015
.gitignore fix submodule usage May 7, 2011
.gitmodules Updated docs Aug 19, 2013
Makefile Rename to Emmet.vim! Aug 6, 2013
README.mkd add screenshot Nov 24, 2015
TODO done. Jun 4, 2012
TUTORIAL Rename to Emmet.vim! Aug 6, 2013
emmet.vim.vimup update vimup file Jul 26, 2015
unittest.vim fix test Nov 7, 2016



emmet-vim is a vim plug-in which provides support for expanding abbreviations similar to emmet.

Bitdeli Badge


Download zip file:

cd ~/.vim

To install using pathogen.vim:

cd ~/.vim/bundle
git clone

To install using Vundle:

" add this line to your .vimrc file
Plugin 'mattn/emmet-vim'

To checkout the source from repository:

cd ~/.vim/bundle
git clone


git clone
cd emmet-vim
cp plugin/emmet.vim ~/.vim/plugin/
cp autoload/emmet.vim ~/.vim/autoload/
cp -a autoload/emmet ~/.vim/autoload/

Quick Tutorial

Open or create a New File:

vim index.html

Type ("_" is the cursor position):


Then type <c-y>, (Ctrly,), and you should see:

<html lang="en">
	<meta charset="UTF-8">

More Tutorials

Enable in different mode

If you don't want to enable emmet in all modes, you can use set these options in vimrc:

let g:user_emmet_mode='n'    "only enable normal mode functions.
let g:user_emmet_mode='inv'  "enable all functions, which is equal to
let g:user_emmet_mode='a'    "enable all function in all mode.

Enable just for html/css

let g:user_emmet_install_global = 0
autocmd FileType html,css EmmetInstall

Redefine trigger key

To remap the default <C-Y> leader:

let g:user_emmet_leader_key='<C-Z>'

Note that the trailing , still needs to be entered, so the new keymap would be <C-Z>,.

Adding custom snippets

If you have installed the web-api for emmet-vim you can also add your own snippets using a custom snippets.json file.

Once you have installed the web-api add this line to your .vimrc:

let g:user_emmet_settings = webapi#json#decode(join(readfile(expand('~/.snippets_custom.json')), "\n"))

You can change the path to your snippets_custom.json according to your preferences.

Here you can find instructions about creating your customized snippets.json file.

Project Authors

Yasuhiro Matsumoto


Emmet official site:

zen-coding official site:


development repository:

my blog posts about zencoding-vim:

Japanese blog posts about zencoding-vim:

A Chinese translation of the tutorial: