Irgendwann machte mein Vim ein ganzes Wort rückgängig, wenn ich traf u
.
[i]typing some words[C-c][u]
Würde dazu führen
typing some
Die Rückgängig-Granularität scheint sich jedoch dahingehend geändert zu haben, dass jeweils nur ein Buchstabe gelöscht wird.
[i]typing some words[C-c][u]
Ergebnisse in
typing some word
Ich erinnere mich, dass ich etwas über das Anpassen der Rückgängig-Granularität in Practical Vim gelesen habe, aber ich kann mich nicht erinnern, wie ich sie steuern soll. Jede Hilfe geschätzt!
:help
Dateien nichts darüber finden ... Siehe: Wie debugge ich meine vimrc-Datei? ... Auch die Verwendung<C-c>
kann zum Verlassen Einfügemodus Nebenwirkungen haben ( siehe diese ) und kann ein Teil des Problems sein ... Ich würde vorschlagen , mitEsc
oder<C-[>
( siehe diese )Antworten:
Manuelles Unterbrechen der Rückgängig-Sequenz
Sie können die Rückgängig-Sequenz im Einfügemodus mit manuell unterbrechen
<C-G>u
. Aus der Hilfe :Beispiel
Dadurch erhalten Sie den Text
Aufschlüsselung der Befehle
Automatische Lösung
Feinkörnigere Undo-Level-Steuerung
Hier ist ein kleiner Ausschnitt aus VimScript , mit
<C-G>u
dem Sie Rückgängig-Unterbrechungen erstellen, wenn Sie mit dem Löschen von Text beginnen und wenn Sie nach dem Löschen erneut Text eingeben .Anmerkungen
Dies funktioniert für
<BS>
,<C-W>
(löschen Sie ein Wort) und<C-U>
(löschen von Zeile zu beginnen). Wenn es im Einfügemodus mehr Möglichkeiten zum Löschen gibt, können diese durch Hinzufügen zusätzlicherinoremap
Aufrufe am Ende unterstützt werden.quelle
<C-G>u
, was bereits zu spät ist.i
gefolgt von einem langen Satz, gefolgt von einer Rücktaste, um einen Teil von dem zu entfernen, was ich geschrieben habe (alles im Einfügemodus). Dann wird mir klar, dass ich nicht zurücktreten sollte und was ich geschrieben hatte, war in Ordnung. Ich mache rückgängig, aber dann wird der gesamte eingefügte Text rückgängig gemacht. Entweder bleibt mir weder der lange Satz noch der Teil, der nicht zurückgesetzt ist. Es ist unmöglich, den zurückgesetzten Teil zurückzubekommen. Gibt es eine Möglichkeit, vim anzuweisen, die Rückgängig-Sequenz auf der Rücktaste zu unterbrechen? (Jetzt, wo ich es sage,map
ist die Rücktaste natürlich eine Option).inoremap <CR> <C-G>u<CR>
, dass jedes Rückgängigmachen in einer einzelnen Zeile enthalten ist (nicht mehr das Rückgängigmachen des gesamten Absatzes, den Sie ohne Unterbrechung eingegeben haben).