Sounds like a job to be centered around
HTML::PrettyPrinter amongst many other modules on CPAN that cater to "tidy markup". I'm not familiar with vi scripting but considering that it's quite agile, you shouldn't have a problem interfacing a vi script with a custom perl parser
cum beautifier using
HTML::PrettyPrinter.
If it's just a few files that need modifying, I personally would just apply some elbow-grease - print out the HTML in
$display to a seperate file, tidy it up with PrettyPrinter and copy it back into a heredoc, etc. I know if goes against a perl programmers virtue of laziness but I'd also consider not having a degenerate
flexor. :)
perl -e '$,=$",$_=(split/\W/,$^X)[y[eval]]]+--$_],print+just,another,split,hack'er