I am learning Vim but I thought this was a simple task but I cannot get it to work. I have browser SO but the solutions are not working for me.
I am trying to correctly indent an file (xml). The command I use is:
gg=G
or ggVG= (made this one up myself probably does something different ;))
My .vimrc is:
syntax on
filetype plugin indent on
set nu
I like Berei's answer. However, I think the following is a little more flexible in that you don't have to alter your vimrc
file. Plus it is easier to format select portions of the XML file (something I happen to do a lot).
First, highlight the XML you want to format.
Then, in visual mode, type ! xmllint --format -
Your command-line at the bottom will look like this:
:'<,'>!xmllint --format -
Then hit enter.
The selected text is sent to the xmllint
command, then --format
'ed, and the results of xmllint
are placed over your selected text in vim. The -
at the end of the command is for receiving standard input - which, in this case, is the selected text that vim sends to xmllint
.