Ich möchte in der Lage sein, den Rest der Zeile zu löschen, die ich an der Position des Cursors in VIM beginne. Gibt es einen einfachen Befehl, um dies zu tun?
Zur Veranschaulichung steht dies vor dem Befehl.
The quick brown dog jumps over the lazy fox.
^
|----- Cursor is here.
Dies ist nach dem Befehl
The q
^
|----- Cursor is here.
d
gefolgt von etwas. Ich dachte, es wäre schneller, die Frage hier zu posten und anderen Menschen zu helfen, die standardmäßig online suchen, bevor sie das Handbuch lesen.C
der einzige "echte" Weg, um den Cursor an die angegebene Position zu bringen, obwohl Sie dadurch in den Einfügemodus versetzt werden.d
gefolgt von etwas" -äquivalenten Befehl fürD
, wobei "etwas" die$
Bewegung ist :d$
.C
(oderc$
)dd
aus dem Befehlsmodus. Ich hoffe, das hilft allen anderen, die darüber stolpern.Verwenden Sie D. Weitere Informationen finden Sie in den Dokumenten .
quelle
Das könnte Sie auch interessieren C, es löscht auch das Zeilenende wie D, aber zusätzlich versetzt es Sie an der Cursorposition in den Einfügemodus.
quelle
Im Befehlsmodus ausführen
d$
.quelle
D
ist eine schnellere Lösung dafür.Drücken Sie, ESCum zuerst zu gehen
command mode
. Drücken Sie dann Shift+ D.https://www.fprintf.net/vimCheatSheet.html
quelle
Dies ist eine sehr alte Frage, aber da VIM immer noch relevant ist, sollte etwas geklärt werden.
Jede Antwort und jeder Kommentar hier ab Oktober 2018 hat sich auf eine sogenannte "Kürzungs" -Aktion bezogen. Die Verwendung einer dieser Aktionen ersetzt daher alles, was sich derzeit im unbenannten Register von VIM befindet . Dieses Register wird in der Regel wie eine Standard-Zwischenablage zum Kopieren / Einfügen behandelt. Daher funktioniert keine dieser Antworten wie gewünscht, wenn Sie den Rest einer Zeile löschen, um anschließend etwas an derselben Stelle einzufügen, da alles, was gerade gelöscht wurde, anschließend eingefügt wird anstelle dessen, was vorher gerissen wurde.
Der wahre Löschbefehl im OP-Kontext lautet
"_D
(oder"_C
wenn der Einfügemodus gewünscht wird). Dadurch wird der gelöschte Inhalt in das von gekennzeichnete Black-Hole-Register gesendet"_
, wo er niemanden mehr stört (obwohl Sie diese Aktion immer noch rückgängig machen könnenu
).Abgesehen davon wird alles, was zuletzt gezogen wurde, im 0-Register gespeichert , und selbst wenn es im unbenannten Register ersetzt wird, kann es dennoch mit eingefügt werden
"0p
.Erfahren Sie mehr über das Black Hole Register und die Register im Allgemeinen für zusätzlichen VIM-Spaß!
quelle
D
oderdd
löscht und kopiert die Zeile in das Register. Sie können verwenden,Vx
die nur die Zeile löscht und im normalen Modus bleibt.quelle