# mattn/emmet-vim

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mattn-emmet-vim).**

6,463 stars · 416 forks · Vim Script · MIT

## Links

- GitHub: https://github.com/mattn/emmet-vim
- Homepage: http://mattn.github.io/emmet-vim
- awesome-repositories: https://awesome-repositories.com/repository/mattn-emmet-vim.md

## Description

emmet-vim is a plugin for Vim that functions as a markup automation tool and code expander. It allows for the rapid generation of HTML and CSS structures by expanding shorthand text expressions into full code elements.

The tool provides a set of shortcuts for wrapping, balancing, and manipulating tags. It includes a text object extension that enables navigation and editing commands for jumping between nested element boundaries.

The project covers a range of capabilities for frontend code refactoring and document hierarchy restructuring. These include tag wrapping, element removal, attribute modification, and the ability to define custom snippets and language-specific activation settings.

## Tags

### Development Tools & Productivity

- [Markup Abbreviations](https://awesome-repositories.com/f/development-tools-productivity/markup-abbreviations.md) — Implements a shorthand abbreviation system to accelerate the authoring of HTML and CSS code. ([source](https://github.com/mattn/emmet-vim#readme))
- [Shorthand Code Expansions](https://awesome-repositories.com/f/development-tools-productivity/shorthand-code-expansions.md) — Expands abbreviated markup syntax into full HTML and CSS code blocks for rapid authoring.
- [Code Refactoring Tools](https://awesome-repositories.com/f/development-tools-productivity/code-refactoring-tools.md) — Ships utilities to restructure nested markup by merging, splitting, or removing tags.
- [Markup Boundary Navigation](https://awesome-repositories.com/f/development-tools-productivity/markup-boundary-navigation.md) — Allows jumping the cursor between the start and end of tags to modify attributes and content. ([source](https://github.com/mattn/emmet-vim/blob/master/TUTORIAL))
- [Markup Tag Manipulators](https://awesome-repositories.com/f/development-tools-productivity/markup-tag-manipulators.md) — Provides a set of shortcuts for wrapping, swapping, and manipulating markup tags.
- [Vim Plugins](https://awesome-repositories.com/f/development-tools-productivity/vim-plugins.md) — Integrates structural editing and abbreviation expansion directly into the Vim editor via custom mappings.
- [Cursor Relative Position Calculators](https://awesome-repositories.com/f/development-tools-productivity/cursor-relative-position-calculators.md) — Calculates text boundaries based on cursor offset to enable precise jumping and attribute editing.
- [Custom Snippet Configurations](https://awesome-repositories.com/f/development-tools-productivity/custom-snippet-configurations.md) — Emmaturity loads shorthand mappings from external files to automate the generation of project-specific patterns. ([source](https://github.com/mattn/emmet-vim#readme))
- [Markup Navigators](https://awesome-repositories.com/f/development-tools-productivity/markdown-documentation-systems/document-navigators/markup-navigators.md) — Enables rapid cursor movement between opening and closing tags within nested document hierarchies.
- [Markup Hierarchy Restructuring](https://awesome-repositories.com/f/development-tools-productivity/markup-hierarchy-restructuring.md) — Allows merging lines or removing tags to automatically reorganize the document layout. ([source](https://github.com/mattn/emmet-vim/blob/master/TUTORIAL))
- [Markup Restructuring Tools](https://awesome-repositories.com/f/development-tools-productivity/markup-restructuring-tools.md) — Emmaturity combines multiple lines containing tags into a single cohesive block of code. ([source](https://github.com/mattn/emmet-vim/blob/master/TUTORIAL.mkd))
- [Snippet Collection Loading](https://awesome-repositories.com/f/development-tools-productivity/snippet-collection-loading.md) — Imports custom shorthand snippet definitions from external configuration files.
- [Tag Attribute Editing](https://awesome-repositories.com/f/development-tools-productivity/tag-attribute-editing.md) — Updates the properties or dimensions of an element while the cursor remains on the tag. ([source](https://github.com/mattn/emmet-vim/blob/master/TUTORIAL.mkd))
- [Delimiter Wrapping](https://awesome-repositories.com/f/development-tools-productivity/text-wrapping-utilities/delimiter-wrapping.md) — Encloses selected text or code within a specified structure or set of delimiters. ([source](https://github.com/mattn/emmet-vim/blob/master/TUTORIAL.mkd))
- [Activation Controls](https://awesome-repositories.com/f/development-tools-productivity/vim-plugins/filetype-icon-plugins/filetype-resolvers/activation-controls.md) — Restricts markup expansion and manipulation logic to specific programming languages based on file extensions.
- [Text Object Extensions](https://awesome-repositories.com/f/development-tools-productivity/vim-plugins/text-object-extensions.md) — Provides custom text objects for jumping between and modifying nested element boundaries.

### Programming Languages & Runtimes

- [Regex-Driven Structural Rewriting](https://awesome-repositories.com/f/programming-languages-runtimes/regex-driven-structural-rewriting.md) — Uses regular expression patterns to identify tag boundaries and restructure document hierarchies for wrapping or removing elements.
- [Nesting Balance Analysis](https://awesome-repositories.com/f/programming-languages-runtimes/structural-pattern-matching/nesting-balance-analysis.md) — Enables moving the cursor across element boundaries to navigate and edit nested structures quickly. ([source](https://github.com/mattn/emmet-vim/blob/master/TUTORIAL))
- [Comment Toggling](https://awesome-repositories.com/f/programming-languages-runtimes/code-commenting/comment-toggling.md) — Provides keyboard shortcuts to quickly comment or uncomment blocks of markup code. ([source](https://github.com/mattn/emmet-vim/blob/master/TUTORIAL))

### Scientific & Mathematical Computing

- [Markup Shorthand Expanders](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/mathematical-typesetting-engines/mathematical-typesetting/markup-shorthand-expanders.md) — Rapidly generates nested markup and stylesheets through shorthand text expressions.

### Web Development

- [CSS Development Utilities](https://awesome-repositories.com/f/web-development/css-development-utilities.md) — Provides utilities for automating and accelerating the definition of CSS rules and properties.
- [Frontend Workflow Automations](https://awesome-repositories.com/f/web-development/frontend-workflow-automations.md) — Accelerates web page creation by automating repetitive tag wrapping and structural reorganization.

### User Interface & Experience

- [Tag Stripping](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/component-styling-tools/component-styling/tag-stripping.md) — Deletes surrounding tags of a selected block while preserving the inner content. ([source](https://github.com/mattn/emmet-vim/blob/master/TUTORIAL.mkd))

### Part of an Awesome List

- [Editor Plugins](https://awesome-repositories.com/f/awesome-lists/devtools/editor-plugins.md) — Markup expansion support for Elm in Vim.
