Ich habe eine Datei mit XML in einer Zeile. Ist die Funktionalität bereits vorhanden, um diesen Puffer so zu formatieren, dass er vom Benutzer gelesen werden kann?
formatting
nxml
xml
wdkrnls
quelle
quelle
Antworten:
Natürlich, und Sie haben viele Möglichkeiten. Ich würde es wahrscheinlich an ein externes Programm weiterleiten mit:
Dieses Programm kommt mit
libxml2
. Sie könnten auch verwendentidy
. Hier ist eine Liste der XML-Formatierungstools für die Befehlszeile: /programming/16090869/how-to-pretty-print-xml-from-the-command-lineSie können auch suchen und ersetzen und dann einrücken:
M-% > < RET > C-q C-j < RET ! C-M-\
Ordentlicher Trick: Sie können den obigen String wie folgt in
M-:
(eval-expression
) kopieren und einfügen :quelle
C-u
Präfix.Der eingebaute in
sgml-mode
hat einen Befehl , dies zu tun:sgml-pretty-print
. Wenn Sie dabei sindnxml-mode
, müssen Sie zunächst auf wechselnsgml-mode
. Sie können einen Befehl schreiben, um vorübergehend in den sgml-Modus zu wechseln, pretty-print auszuführen und dann zurück in den nxml-Modus zu wechseln.Hier ist zum Beispiel ein Befehl, mit dem die Region hübsch gedruckt wird, optional mit aktivierter automatischer Füllung:
quelle
schreib das in dein
~/.emacs.d/init.el
:lade emacs neu und rufe dann einfach
M-x reformat-xml
den schlecht formatierten xml-puffer auf.Quelle: https://davidcapello.com/blog/emacs/reformat-xml-on-emacs/
quelle
Wenn Sie dem Hinweis der obigen Antwort folgen und davon ausgehen, dass Sie
tidy
eine Variante installiert haben , könnte dies sein:Dadurch wird ein neuer Puffer geöffnet,
*Shell Command Output*
anstatt den Inhalt des Puffers direkt zu ersetzen. Ersetzen Sie nach Überprüfung des Ergebnisses den alten Inhalt durch den neuen durch:Wählen Sie die vorgeschlagene Standardeinstellung, die wahrscheinlich sein wird
*Shell Command Output*
. Sie können den Befehl für später mit einem Tastaturmakro speichern:Damit können Sie ausführen,
M-x pretty-xml
um den Puffer neu zu formatieren.quelle
Markiere deine xml und mache:
Oder führen Sie einfach den Befehl ohne markierten Bereich aus, um den gesamten Puffer zu verschönern.
quelle