Vim: XML 텍스트를 "예쁘게" 만드세요

Vim: XML 텍스트를 "예쁘게" 만드세요

viXML 텍스트를 "예쁘게" 만드는 쉬운 방법이 있습니까 ?

예를 들어:

나는 이것을 원한다..

            <person>
  <name>Nick</name>
 <age>26</age>
         <gender>male</gender>
<occupation>doctor</occupation>
    </person>

이것이...

<person>
    <name>Nick</name>
    <age>26</age>
    <gender>male</gender>
    <occupation>doctor</occupation>
</person>

답변1

나는 이 점에서 가장 운이 좋았습니다.

:%!xmllint --format %

그러나 태그에는 엄격하므로 시작 태그와 끝 태그가 일치하지 않으면 오류가 발생합니다. 또한 XML 선언이 없는 경우 파일 상단에 XML 선언을 추가합니다.

이 페이지에서는 다음을 권장하지만 제대로 작동하지는 않습니다.

:set filetype=xml
:filetype indent on
gg=G

테스트 해봤는데 작동하는 것 같습니다. 완벽하지는 않지만 작업이 완료됩니다.

이것이 작동하지 않으면 Python에서 minidom을 사용하여 형식을 지정할 수 있습니다.

import xml.dom.minidom

xml = xml.dom.minidom.parse(filename)
formatted_xml = xml.toprettyxml()

관련 정보