Latest commit 1bb9261
Jan 27, 2014
This is a mirror of http://www.vim.org/scripts/script.php?script_id=2075 This script is based on the distributed indent scripts for HTML (and CSS). The original script becomes very slow when indenting more than a few lines, thus here is an improvement. Customization: Variables you can set in the vimrc. Given values are examples to change the defaults. Note: This applies to v0.6 (!). Earlier version used :IndHtmlLocal for customization. Details can always be found in the script header. You can set the indent for the first line after <script> and <style> "block tags" (default "zero"): :let g:html_indent_script1 = "inc" :let g:html_indent_style1 = "inc" VALUE MEANING "zero" zero indent "auto" auto indent (same indent as the blocktag) "inc" auto indent + one indent step The following <tags> increase the indent (for what follows) per default (taken from the original script, but slightly modified): a, abbr, acronym, address, b, bdo, big, blockquote, button, caption, center, cite, code, colgroup, del, dfn, dir, div, dl, em, fieldset, font, form, frameset, h1, h2, h3, h4, h5, h6, i, iframe, ins, kbd, label, legend, map, menu, noframes, noscript, object, ol, optgroup, q, s, samp, select, small, span, strong, sub, sup, table, textarea, title, tt, u, ul, var, th, td, tr, tfoot, thead (added with v0.8): area, article, aside, audio, bdi, canvas, command, datalist, details, embed, figure, footer, header, group, keygen, mark, math, meter, nav, output, progress, ruby, section, svg, texture, time, video, wbr, text You can add further tags with :let g:html_indent_inctags = "html,body,head,tbody" " the original script uses the g:html_indent_strict variable to include these tags You can remove tags with :let g:html_indent_autotags = "th,td,tr,tfoot,thead" " the original script uses the g:html_indent_strict_table variable to include these tags Default value is empty for both variables. The default tags that increase indent are defined once per session only. Problems and Bugs: - still no indent rules for attributes spanning several lines - sometimes cindent() thinks it is better to use zero indent for what follows ... - some tags increase indent per default, but their closing tag is optional, e.g. <td> -- the script cannot detect missing closing tags Suggestions, bug reports welcome (I'm not writing HTML regularly). 2013 Jun 13: Vim 7.3.1180 or later includes the latest version of this script.