Gibt es einen Befehl, um den zuletzt im Einfügemodus ausgeführten Vorgang rückgängig zu machen?
Ich habe gerade Text aus dem falschen Register mit eingefügt <C-r>
und habe zwei Möglichkeiten:
- Lösche von Hand, was ich gerade eingefügt habe und beginne von vorne.
- Wechsle in den normalen Modus, drücke
u
und verliere den Text, den ich vor dem Schlagen eingegeben habe<C-r>
.
Gibt es einen besseren Weg?
insert-mode
undo-redo
zool
quelle
quelle
<C-O>u
und dem Anzeigen des Ergebnisses auf dem Bildschirm (ungefähr 4 Sekunden). Irgendeine Idee, wie ich das beseitigen könnte?:help i_CTRL-G_u
.Vom Einfügemodus:
Wenn Ihr eingefügter Text kleiner als eine Zeile ist (was Ihr 2. Punkt impliziert), drücken Sie einfach
<C-u>
, um alle Zeichen vor dem Cursor in der aktuellen Zeile zu entfernen.Wenn eingefügter Text mehr als eine Zeile ist, Ihre zweite Lösung besser funktionieren würde, wie folgt angepasst:
<C-o>u
.Beide obigen Punkte beginnen und bleiben - oder enden - im Einfügemodus. sie sind eigentlich die gleichen mit Ihren vorgeschlagenen Lösungen, nur kürzer gemacht :)
quelle
Sie können es versuchen
<C-w>
(löscht ein Wort links) oder<C-u>
(löscht Zeichen vor dem Cursor, wenn einmal gedrückt, löscht den Zeilenumbruch, wenn ein zweites Mal gedrückt wird). Siehe:help i_CTRL-W
und:help i_CTRL-U
.Wenn Sie viel aus einem Register einfügen, ist es natürlich schneller, Ihre Änderungen rückgängig zu machen, Sie können dafür den Einfügemodus verwenden
<C-o>
(führen Sie einen Befehl für den normalen Modus aus und kehren Sie dann in den Einfügemodus zurück).Im Allgemeinen ist es hilfreich, Ihre Änderungen in kleine Teile zu zerlegen, indem Sie häufig zum normalen Modus zurückkehren, damit Sie fein abgestimmte Möglichkeiten zum Rückgängigmachen haben.
quelle