History Report a problem
Article Edit this page Discussion

Changing all HTML tags to lowercase

From Vim Tips Wiki

Jump to: navigation, search
 

Tip 1513Previous TipNext Tip

Created: August 10, 2007 Complexity: intermediate Author: Alex Jakushev Version: 6.0


One part of converting from HTML to XHTML is changing all the tags to lowercase. If you open your HTML file in Vim, this task may be done with this piece of Vim magic:

:%s/<\/\?\zs\(\a\+\)\ze[ >]/\L\1/g

Note that this will change tag names only. To change tag attributes to lowercase as well (multiple attributes supported), use this command:

:%s/\(<[^>]*\)\@<=\<\(\a*\)\ze=['"]/\L\2/g

[edit] Comments

 

This should work as well:

:%s/<\([^>]*\)>/<\L\1>/g
This is exactly what I thought of to start with. It is a nice, simple, easy regular expression to accomplish almost the same task. But, it is not quite equivalent. The two regular expressions given in the tip would replace <TAG ATTR='VAL'> with <tag attr='VAL'>, whereas this one would replace it with <tag attr='val'>. Sometimes this is desired, sometimes not, for example with <p class='bigLongClassName'>. Note that none of these regular expressions will work across linebreaks.

Rate this article:

Share this article:

Hubs Highlights International Sites Wikia messages
Entertainment
Gaming
Cartoons & Comics
Science Fiction
Hobbies
Sports
See all...
Grand Theft Auto
Doctor Who
Legend of Zelda Wiki
Terminator Wiki
Everquest II Wiki
Mystery Science Theater 3000
German
Spanish
Chinese
Japanese
More...
Wikia is hiring for several open positions
Send this article to a friend
"Changing all HTML tags to lowercase"
 
 
Hi!

I thought you'd like this page from Wikia!

http://vim.wikia.com

Come check it out!
Send confirmation