如何解决使用具有很多属性的标签格式化XML文件时遇到的问题
我每天在家和工作中都使用vim。我最近开始使用一个框架,该框架大量使用xml文件(他将其用于视图)。我的问题是这些文件的格式,尤其是当元素具有许多属性并且我必须转到新行时。 例如,按钮标签:
...
¦ ¦ <xpath expr="//div[@class='oe_button_box']" position="inside">
¦ ¦ ¦ <button name="view_lpi_partner" type="object" string="Partner"
¦ ¦ ¦ ¦ ¦ class="oe_stat_button" icon="fa-file-text"
¦ ¦ ¦ ¦ ¦ attrs="{'invisible':[('need_partner','=',False)]}">
¦ ¦ ¦ </button>
¦ ¦ </xpath>
...
如果我尝试使用gg = G
进行格式化,则会看到始终是同一父级的下一个元素到达屏幕顶部,而不考虑其在同一属性中的位置。
我尝试使用各种插件,但是大多数插件都不尊重元素的众多参数。
我还尝试了此脚本,并在可能时对其进行了修改:
function! DoPrettyXML()
" save the filetype so we can restore it later
let l:origft = &ft
set ft=
" delete the xml header if it exists. This will
" permit us to surround the document with fake tags
" without creating invalid xml.
1s/<?xml .*?>//e
" insert fake tags around the entire document.
" This will permit us to pretty-format excerpts of
" XML that may contain multiple top-level elements.
0put ='<PrettyXML>'
$put ='</PrettyXML>'
silent %!xmllint --format -
" xmllint will insert an <?xml?> header. it's easy enough to delete
" if you don't want it.
" delete the fake tags
2d
$d
" restore the 'normal' indentation,which is one extra level
" too deep due to the extra tags we wrapped around the document.
silent %<
" back to home
1
" restore the filetype
exe "set ft=" . l:origft
endfunction
command! PrettyXML call DoPrettyXML()
但是没有理想的结果。正确的格式由其他编辑器/ IDE完成,例如vs代码和崇高的文本。
您能告诉我如何正确设置xml格式吗,即使元素的属性在新行上也是如此
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。