Saya punya file dengan xml semua dalam satu baris. Apakah fungsionalitas sudah ada untuk memformat ulang buffer ini agar terbaca oleh pengguna?
formatting
nxml
xml
wdkrnls
sumber
sumber
Jawaban:
Tentu saja, dan Anda punya banyak pilihan. Saya mungkin akan memasukkannya ke program eksternal menggunakan:
Program ini dilengkapi dengan
libxml2
. Anda juga bisa menggunakannyatidy
. Berikut daftar alat pemformatan xml commandline: /programming/16090869/how-to-pretty-print-xml-from-the-command-lineAnda juga bisa melakukan pencarian dan ganti lalu indentasi:
M-% > < RET > C-q C-j < RET ! C-M-\
Trik rapi: Anda dapat menyalin dan menempelkan string di atas ke
M-:
(eval-expression
) seperti ini:sumber
C-u
awalan.Built-in yang
sgml-mode
memiliki perintah untuk melakukan hal ini:sgml-pretty-print
. Jika Anda berada dinxml-mode
dalamnya sepertinya Anda perlu beralih ke yangsgml-mode
pertama. Anda bisa menulis perintah untuk sementara beralih ke mode sgml, menjalankan pretty-print, lalu beralih kembali ke mode nxml.Sebagai contoh, berikut adalah perintah yang akan cukup mencetak wilayah, opsional dengan pengisian otomatis diaktifkan:
sumber
tulis ini ke Anda
~/.emacs.d/init.el
:muat ulang emacs, lalu panggil
M-x reformat-xml
buffer xml yang diformat dengan buruk.sumber: https://davidcapello.com/blog/emacs/reformat-xml-on-emacs/
sumber
Mengikuti petunjuk dari jawaban di atas, dan dengan asumsi Anda telah
tidy
menginstal variasi dapat menjadi:Ini akan membuka buffer baru
*Shell Command Output*
alih-alih secara langsung mengganti konten buffer. Setelah memeriksa hasilnya, ganti konten lama dengan yang baru dengan:pilih default yang disarankan yang mungkin akan menjadi
*Shell Command Output*
. Anda dapat menyimpan perintah untuk nanti dengan keyboard makro:Dengan ini, Anda dapat menjalankan
M-x pretty-xml
untuk memformat ulang buffer.sumber
Tandai xml Anda dan lakukan:
Atau jalankan saja perintah tanpa daerah yang ditandai untuk membasahi seluruh buffer.
sumber