让vim识别XML

时间:2011-09-29 17:08:13

标签: xml vim indentation vi

我希望vim帮我缩进我的xml文件,就像我的C代码一样。但是,当我使用

gg=G

它只是将所有内容设置在左侧。我需要指定语法吗? XML被识别为语言吗?

3 个答案:

答案 0 :(得分:24)

filetype plugin indent on

.vimrc中让Vim自动将.xml文件识别为xml。你可能需要把

set nocompatible
之前的那个。

如果文件扩展名不是.xml,则可以使用

使Vim像xml一样威胁它
:set filetype=xml

在你这样做之后,Vim的自动注释(以及语法高亮和omnicomplete(在xml中只是关闭标签,但这仍然是某些东西))将适用于xml。

答案 1 :(得分:5)

是的,:set syntax=xml应该有效。在vim 7.3中,这会设置:set indentexpr=XmlIndentGet(v:lnum,1)

如果您有一个单行文件,则可能需要:%s/\(<[^>]*>\)/\1\r/g,在每个标记后插入换行符(或以不同方式拆分)。

然后,gg=G应该有用。

答案 2 :(得分:0)

将此行添加到.vimrc文件中:

:map <Space>fx :%s/\ </\r</g<cr>:%s/\ android/\randroid/g<cr>:g/^$/d<cr>gg=G`

格式化点击space fx