Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is it possible to select an HTML tag's content in Vim?

For example:

<p>I am a silly butterfly</p>

I would like to select "I am a silly butterfly".

I know that you can use vi" to select text inside quotes, brackets, etc. The problem here is that the text inside the HTML tags is not really within anything that I can use the i function for.

share|improve this question
up vote 45 down vote accepted

You can use vit to visually select text in a tag. See

:help v_it
share|improve this answer
Perfect! Gonna write a post about this in my blog, I couldn't find anything on Google with "Vim selecting html tag contents" and others. – fholgado Aug 30 '10 at 2:48
You can also substitute v with many other commands, I often use c to change; > and < to fix indentation. – dukedave Apr 19 '12 at 17:24
How do you select the tags as well? In this case the <p> tags. – hobbes3 Apr 26 '13 at 18:35
@hobbes3: To include the tags in the selection, use vat. I think of it as in a tag and at as a tag. See :help at. – garyjohn Apr 26 '13 at 19:07
Ya, vat works. Thanks! – hobbes3 Apr 26 '13 at 19:17

Here are the steps:

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

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

it inner <tag> </tag> block

See more at "How to jump between matching HTML/XML tags?".

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .