Vim: Создание “симпатичный” текст XML

MacOS:

alias ll='ls -lG'

Linux:

alias ll='ls -l --color=auto'

Всуньте это ~/.bashrc.

33
24.01.2013, 22:19
1 ответ

У меня была большая часть удачи с этим:

:%!xmllint --format %

Это строго о Ваших тегах, тем не менее, таким образом, это будет ошибка, если Ваши открывающие и закрывающие тэги не будут соответствовать. Это также добавляет определение XML наверху Вашего файла, если у Вас нет того также.

Эта страница рекомендует следующее, хотя я не могу заставить ее работать:

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

Я проверил его, и это, кажется, работает, несколько. Не отлично, но это сделало задание.

Если это не работает хорошо, Вы могли бы использовать minidom в Python для форматирования его для Вас.

import xml.dom.minidom

xml = xml.dom.minidom.parse(filename)
formatted_xml = xml.toprettyxml()
39
27.01.2020, 19:37
  • 1
    Это gg=G команда действительно не работала. Вместо этого это просто удалило все предыдущие добавления отступа, которые я имел. –  Rob Avery IV 24.01.2013, 22:10
  • 2
    Да, я нашел то же самое. Это, кажется, работает, когда у меня уже есть определенный тип форматирования, но обычно нет. Я должен буду протестировать его немного больше. –  Nate 24.01.2013, 22:14
  • 3
    :%!xmllint --format % кажется, работает хорошо, таким образом, я добавил это к сообщению. –  Nate 24.01.2013, 22:20
  • 4
    @kenny команды, я изменил ответ для преодоления того –  törzsmókus 09.08.2017, 18:10
  • 5
    я делаю ": набор ft=xml | %! xmllint - формат -", чтобы заставить его работать над текущим буфером и включить подсветку синтаксиса –  grebulon 26.04.2018, 12:39

Теги

Похожие вопросы