Mirror of Andy Wokula's indent/html.vim. Mirrored on
indent
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.
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"
zero
zero indentauto
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.
- 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).
Copy script to ~/.vim/indent
Copy script to ~\vimfiles\indent
-
Follow the instructions to install Pathogen
-
Clone the
vim-indent-html
repository$ mkdir -p ~/.vim/bundle $ cd ~/.vim/bundle $ git clone git://github.com/bitfyre/vim-indent-html.git
- Add
Bundle 'bitfyre/vim-indent-html'
to your~/.vimrc
- Do one of the following
- Within vim run
:BundleInstall
- From your shell run `vim +BundleInstall +qall
- Within vim run
Enable filetype detection and use of indent plugins:
:filetype indent on