_vimrc中增加如下代码:

"格式化xml

function Xml()

    set filetype=xml

    :%s/></>\r</g "把><替换成>回车<

    :normal gg=G<cr>

endfunction

map  <leader>xml  :call Xml()

 

也可单独执行

:%s/></>\r</g

:normal gg=G<cr>

 

问题:VIM中gg=G是什么?

描述: 它是一个自动缩进的命令。vi中“gg”可以跳到第一行。“G”可以跳到最后一行。而“=”则是 调用命令行的indent程序来使文本智能的缩进。如果你的linux上没有装indent,而盲目的使用gg=G,很可能会损坏你正在编辑的文件。gg=G之后就从第一行缩进至最后一行了。那么,只想缩进部分代码怎么办呢?比如html中只有一部分是php代码,不需要把全文缩进。该怎么办呢?告诉你一个窍门:“mG=nG”当m不等于n的时候能完成从m行到n行的局部的缩进。例如:从80行缩进直到100行,你可以用 80G=100G别告诉我你不知道怎么看行号。:set nu再来点别的 :set nu ru ai si ts=4 sw=4