To main content

VIM: Kompletten Text löschen

Veröffentlicht von Benjamin Marwell am

Vim + RadiergummiVIM ist ja bekanntlich einer meiner liebsten Editoren. Böse Zungen behaupten ja, VIM (bzw. vi) hätte zwei Modi: Piepen und den Text willkürlich zerstören. Nach einiger Zeit kennt man aber die wichtigsten Kniffe. Teilweise bleiben einem aber die einfachsten aller Tastenkombinationen verborgen. Darum nun ein bebildeter Artikel über das Löschen von Text.

 

Kompletten Text löschen

Die wohl generischste Funktion: Löschen. Alles. Unter den meisten Editoren geht man in der genau umgekehrten Reihenfolge vor: Alles. Löschen. Gemeint ist: Alles markieren, dann Entfernen oder Backspace drücken. Bei VIM läuft das aber etwas anders.

Als Ausgangstext hält ein VIM-Fenster mit einem Lorem Ipsum-Blindtext her und sieht bei mir (ohne Fensterdekoration) so aus:

"Lorem Ipsum"-Blindtext in VIM.
01: "Lorem Ipsum"-Blindtext in VIM.
 

Befehlsmodus

Da VIM meistens im Befehlsmodus bedient wird, folgt eine kleine Anleitung in diesem Modus an erster Stelle. Grundlage sind zwei Bewegungbefehle und der Löschbefehl an sich.

Schritt 1: An den Anfang springen

02: An den Anfang springen
02: An den Anfang springen (gg)

Mit dem Bewegungsbefehl gg  springt der Cursor an den Anfang des Textes - Zeile 1, erste Spalte. Im Bildschirmfoto ist der Cursor nun dort zu sehen.

Schritt 2: Den Löschmodus starten

03: Löschmodus starten
03: Löschmodus starten (d)

Die Taste d  startet den Löschmodus. Viel passiert dabei nicht: Den Löschmodus erkennt man am kleinen "d" in der Statusleiste ganz unten, der Cursor zeigt durch halbe Höhe das Warten auf einen Bewegungsbefehl an.

Schritt 3: Die Bewegung angeben

04: Bewegung zum Dokumentenende (G)
04: Bewegung zum Dokumentenende (G)

Die nun auf d  folgende Eingabe g  (Umschalt + g) gibt die Bewegung "bis zum Ende" an. Weg ist der komplette Inhalt.

Kommandozeilenmodus

Die zweite Möglichkeit ist der Kommandozeilenmodus. Auch hier steht das d  für Löschen, erwartet aber zusätzlich vorangestellt einen Bereich. Es gibt also zwei Unterschiede: Angabe eines Bereiches statt einer Bewegung, und vorangestellt statt dem Löschbefehl folgend.

05: Kommandozeile: Alles löschen (:%d)
05: Kommandozeile: Alles löschen (:%d)

Das Prozenzzeichen gibt den kompletten Dokumentenbereich an, alternativ wäre mit von,bis auch ein Bereich wählbar. Der Befehl um alles zu löschen heißt also: :%d  Oder mit der expliziten Bereichsangabe :^,$d

Weblinks

Da es gar nicht viel mehr über das Löschen eines kompletten Textes zu berichten gibt, möchte ich noch auf ein paar externe Seiten verweisen.