For example, if I want to jump to the close form tag. how could I do this?


The matchit.vim plugin, in conjunction with the html.vim filetype plugin, will allow you to do this. One way to load the matchit.vim plugin is to put this in your ~/.vimrc:

runtime macros/matchit.vim

If you don't already have filetype plugins enabled, also put this in in your ~/.vimrc:

filetype plugin on

Then when you edit an HTML file, you can jump from a tag to the matching tag by typing %. You can find out more by executing

:help matchit
  • Thanks, this is perfect! Thought I had to install plugin but looks like it's included already. – Jason Apr 22 '13 at 21:34

You can jump between tags using visual operators, in example:

  1. Place the cursor on the tag.
  2. Enter visual mode by pressing v.
  3. Select the outer tag block by pressing a+t or i+t for inner tag block.

Your cursor should jump forward to the matching closing html/xml tag. To jump backwards from closing tag, press o or O to jump to opposite tag.

Now you can either exit visual by pressing Esc, change it by c or copy by y.

To record that action into register, press qq to start recording, perform tag jump as above (including Esc), press q to finish. Then to invoke jump, press @q.

See more help at :help visual-operators or :help v_it:

at a <tag> </tag> block (with tags)

it inner <tag> </tag> block

Alternatively use plugin such as matchit.vim (See: Using % in languages without curly braces).

See also:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.