Wenn Sie nur ziemlich Einrücken ohne neue Zeilenumbrüche einzuführen, können Sie den indent-region
Befehl an den gesamten Puffer mit diesen Tastenanschläge gelten:
C-x h
C-M-\
Wenn Sie auch Zeilenumbrüche müssen einzuführen, Damit öffnende und schließende Tags in separaten Zeilen stehen, könnten Sie die folgende sehr nette elisp-Funktion verwenden, die von Benjamin Ferrari geschrieben wurde. Ich fand es auf seinem Blog und hoffen, dass es in Ordnung ist für mich, es zu reproduzieren hier:
(defun bf-pretty-print-xml-region (begin end)
"Pretty format XML markup in region. You need to have nxml-mode
http://www.emacswiki.org/cgi-bin/wiki/NxmlMode installed to do
this. The function inserts linebreaks to separate tags that have
nothing but whitespace between them. It then indents the markup
by using nxml's indentation rules."
(interactive "r")
(save-excursion
(nxml-mode)
(goto-char begin)
(while (search-forward-regexp "\>[ \\t]*\<" nil t)
(backward-char) (insert "\n"))
(indent-region begin end))
(message "Ah, much better!"))
Dies beruht nicht auf einem externen Tool wie Tidy.
Bis Ende 2013 funktioniert die tidy.el Version: 20111222.1756 nicht auf Emacs 24 mit '' 'falschem Argument: stringp, nil''' – keiw
@keiw Das ist wahrscheinlich, weil Sie es in einem Puffer tun, der keinen Dateinamen hat. Habe den gleichen Fehler und verfolgte ihn zumindest auf meiner Seite. – Alf