Vi Editor: Anzeigen und Bearbeiten im hex-Mode mit xxd

Wenn man im vi-Editor arbeitet und die Datei Sonderzeichen enthält, ist die Arbeit im hexadezimal Modus oft sinnvoll und manchmal zwingend.

Es gibt die Möglichkeit in diesen Modus umzuschalten:

:%!xxd

Nun kann man im hex Modus editieren (und nur dort!).

00000000: 5765 6e6e 206d 616e 2069 6d20 7669 2d45 Wenn man im vi-E
00000010: 6469 746f 7220 6172 6265 6974 6574 2075 ditor arbeitet u
00000020: 6e64 2064 6965 2044 6174 6569 2053 6f6e nd die Datei Son
00000030: 6465 727a 6569 6368 656e 2065 6e74 68c3 derzeichen enth.
00000040: a46c 742c 2069 7374 2064 6965 2041 7262 .lt, ist die Arb
00000050: 6569 7420 696d 2068 6578 6164 657a 696d eit im hexadezim
00000060: 616c 204d 6f64 7573 206f 6674 2073 696e al Modus oft sin
00000070: 6e76 6f6c 6c20 756e 6420 6d61 6e63 686d nvoll und manchm
00000080: 616c 207a 7769 6e67 656e 642e 0a        al zwingend..


Allerdings sollte man vor dem Abspeichern, den Buffer wieder zurück (revers) umwandeln. Somit nach der Bearbeitung im hex-Bereich, diesen mit

:%!xxd -r 

verlassen und in den normalen Modus zurückkehren und ggf. speichern.

Was passiert hier? Der vi-Puffer wird durch das externe Kommando xxd gestreamt. Mit dem Parameter -r geht es wieder revers und danach abspeichern.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.