I have a HTML like this:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index - feedman</title>
   <link rel="stylesheet" href="/media/bluetrip/css/screen.css" type="text/css" 
media="screen, projection">
[...]
<body>
    <div class="container">
<div id="greeting">
{% if request.user.is_anonymous() %}
<a href="{{ create_login_url() }}">login</a>
{% else %}
Hello {{ request.user }}! <a href="{{ create_logout_url() }}">logout</a>
{% endif %}
</div>

<p>
{{ message }}
</p>
    </div>
</body>
</html>

How should I automatically format with proper indentation using VIM?

link|improve this question

59% accept rate
feedback

2 Answers

Perhaps you could try : gg=G to indent all the document ? I'm not sure it works good with HTML.

link|improve this answer
Works for me. .... – innaM Oct 22 '09 at 11:16
Since I didn't have the file saved, I first had to use :set filetype=html – chocojosh May 25 '11 at 15:49
feedback

try to use tidy as explained in the vim tips wiki:

exe 'setlocal equalprg=tidy -quiet -f '.&errorfile

setlocal makeprg=tidy -quiet -e %

link|improve this answer
No tidy please; I wonder if VIM supports this feature at all (that Emacs already has) – Sridhar Ratnakumar Oct 22 '09 at 10:59
feedback

Your Answer

 
or
required, but never shown

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