Se você tiver o Tidy instalado, apenas canalize seu buffer para obter um HTML limpo.
:%!tidy -qicbn -asxhtml
Use “tidy -h” para obter mais ajuda sobre as opções, mas as que costumo usar estão no exemplo acima:
-indent, -i indent element content
-clean, -c replace FONT, NOBR and CENTER tags by CSS
-bare, -b strip out smart quotes and em dashes, etc.
-numeric, -n output numeric rather than named entities
-quiet, -q suppress nonessential output
-asxml, -asxhtml convert HTML to well formed XHTML