Wie kann ich Textzeilen in vi auswählen und löschen?

17

Wie kann ich das in vi tun (mit den einfachsten Mitteln), wenn ich einen bestimmten Zeilentext auswählen und Zeilen löschen möchte?

Bis auf weiteres angehalten.
quelle

Antworten:

17

Sie können auch den VAnsichtsmodus verwenden, um den Modus "VISUAL LINE" zu starten. Wählen Sie Ihre Zeilen aus und geben Sie sie ein d, um sie zu löschen.

ThR37
quelle
4
Das heißt , Shift + V.
Zaz
Was ist, wenn der V-Modus nicht implementiert ist (wie in alten Vi-Implementierungen?)
Campa
9

Umzug in die Zeile , die Sie löschen möchten, entweder mit den Pfeiltasten oder die j/ kTaste und Art dd. Sie können dann speichern und beenden, indem Sie :x(oder ZZ) eingeben . Eine Zahl kann auch vorangestellt werden, ddum mehrere Zeilen zu löschen, z 3dd. B. 3 Zeilen.

Weitere Vi-Befehle finden Sie in diesem praktischen Vi-Spickzettel .

Zaz
quelle
1
dd ist der schnellste Weg, eine Zeile zu löschen.
Raptor
2

Gehen Sie zur ersten Zeile, die Sie löschen möchten, und geben Sie (im Ansichtsmodus) ein d[x-1], um x Zeilen zu löschen.

fbstj
quelle
2

Ein weiterer Tipp: Wenn Sie einen Textabsatz löschen möchten, gehen Sie mit { zum Anfang dieses Absatzes und geben Sie dann d} ein

Oder mit anderen Worten, {d}

Janne Pikkarainen
quelle
3
Oder daplöschen Sie einen Absatz
user1686
@grawity: dapfunktioniert bei mir in Vi nicht.
Zaz
1
@Josh: In 97% der Fälle, wenn jemand " vi" sagt , bedeutet er entweder " vim" oder " vimim vi-Kompatibilitätsmodus laufen". Also schlug ich einen vimspezifischen Befehl vor (siehe auch :help text-objects).
user1686
@grawity: Sorry, ich bin läuft Vim , aber daphat noch keine Wirkung.
Zaz
@Zaz: Vielleicht hatte Ihre .vimrcDatei andere Einstellungen, oder vielleicht hatte @ user1686 andere Einstellungen.
Jvriesem