Wie lösche ich die nächste Zeile in vim?

10

Wenn ich in Emacs ein paar Textzeilen löschen möchte, verwende ich einfach Ck, bis der gesamte Text verschwunden ist. In vim scheint es jedoch etwas komplexer zu sein. Ich weiß, dass ich d$bis zum Ende der Zeile ddlöschen und die gesamte Zeile löschen kann, in der ich mich befinde. Aber wie lösche ich die gesamte nächste Zeile?

Jason Baker
quelle

Antworten:

5

So was:

:+1d
Ignacio Vazquez-Abrams
quelle
16

Annahme: Sie möchten an der Linie landen, an der Sie begonnen haben.

Meine Antwort: jddk

  • j (bewegt sich nach unten)
  • dd (löscht die aktuelle Zeile)
  • k (bewegt sich nach oben)

Probieren Sie es aus - es geht schnell! Tatsächlich sind es zwei Tastenanschläge weniger als die derzeit akzeptierte Antwort, weil:

  1. Sie müssen nicht gedrückt halten [Shift], um die Doppelpunktzeichen ':' und plus '+' einzugeben
  2. Sie benötigen das [Enter]am Ende der Sequenz implizierte nicht , da jddkalle im visuellen Modus im Gegensatz zum Befehlsmodus eingegeben werden .

Plus, jddkist alles in der Ausgangsreihe der Tastatur.

Ich habe lange Zeit mit h, j, k, l navigiert vi, lange bevor die von mir verwendete Terminalemulationssoftware Pfeiltasten unterstützte. (Ich spreche vor ~ 20 Jahren ;-)

Chris W. Rea
quelle
1
hjkl ist sowieso schneller. Ich habe noch nie eine Tastatur verwendet, auf der keine Pfeiltasten vorhanden waren, und ich begann die Wirksamkeit dieser Tastenbelegungen etwa 10 Minuten, nachdem ich mich nicht mehr über ihre Unintuitivität geärgert hatte, sehr zu schätzen.
Intuition
2

Möglicherweise interessieren Sie sich auch für den visuellen Modus. Verwenden Sie einfach, vum einzutreten und yzu ziehen oder dzu löschen. Überprüfen :helpist ein großartiger Ort, wenn Sie auch stecken bleiben. Zum Beispiel erhalten :help deleteSie das Handbuch für die meisten üblichen Löschbefehle.

Joe Bane
quelle
0

Wenn Sie eine Reihe von Zeilen in einer Zeile löschen möchten, können Sie dddie Zeile löschen, in der Sie sich befinden, und dann weiter drücken (oder gedrückt halten) .(Punkt), um den Befehl zu wiederholen.

Coneslayer
quelle
oder geben Sie Ndd ein, wobei N die Anzahl der zu löschenden Zeilen ist. Um
quack quixote am