Vim indent xml file

vim, xml

Solution

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.

Technical Explanation

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`.

Problem

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 ```

Original source

Related problems