In Vim habe ich zu viel rückgängig gemacht. Wie mache ich das rückgängig (dh wiederholen)?
In Vim habe ich zu viel rückgängig gemacht. Wie mache ich das rückgängig (dh wiederholen)?
Antworten:
Ctrl+r
Cmd + r
Dinge durcheinander bringt ? Es macht sicherlich etwas Seltsames; aber hat Ctrl + r
einfach gut funktioniert für mich (Mac + tmux + vim)
Schauen Sie sich auch an :undolist
, das mehrere Pfade durch den Rückgängig-Verlauf bietet. Dies ist nützlich, wenn Sie versehentlich etwas eingeben, nachdem Sie zu viel rückgängig gemacht haben.
:undolist
und geben Sie :undo 178
(sagen wir) ein, um zu Schritt 178 zurückzuspulen.
:undolist
?
Verwenden Sie :earlier
/ :later
. Um alles zu wiederholen, was Sie nur tun müssen
later 9999999d
(unter der Annahme , dass Sie zum ersten Mal vor höchstens 9.999.999 Tagen die Datei bearbeitet), oder, wenn man die Differenz zwischen dem aktuellen Undo Zustand und benötigen ein, Gebrauch erinnern Nh
, Nm
oder Ns
für Stunden, Minuten und Sekunden auf. + :later N<CR>
<=> Ng+
und :later Nf
für Dateischreibvorgänge .
:later
arbeitete für mich in vi
(nicht vim - auf Google nach "vi" gesucht, aber alle Ergebnisse sind für "vim"), danke!
vi
Befehl haben, ist es ein Symlink zu einer ausführbaren vim-Datei oder einer Kopie davon. Nicht überall.
vim: command not found
. Das nächste, was ich mache, ist, alias vim=vi
weil ich es so automatisch tippe, aber es ist trotzdem das einfache alte vi. Außerdem hätte Redo (Strg + R) ordnungsgemäß funktioniert, wenn vi ein Alias für vim gewesen wäre.
<Undo> or *undo* *<Undo>* *u*
u Undo [count] changes. {Vi: only one level}
*:u* *:un* *:undo*
:u[ndo] Undo one change. {Vi: only one level}
*CTRL-R*
CTRL-R Redo [count] changes which were undone. {Vi: redraw screen}
*:red* *:redo* *redo*
:red[o] Redo one change which was undone. {Vi: no redo}
*U*
U Undo all latest changes on one line. {Vi: while not
moved off of it}
Verwenden Sie im Befehlsmodus die UTaste zum Rückgängigmachen und Ctrl+ rzum Wiederherstellen. Schauen Sie sich http://www.vim.org/htmldoc/undo.html an .
Drücken Sie zuerst die EscTaste, um den Bearbeitungsmodus zu verlassen.
Dann,
Für undo , Verwendung uTaste so oft wollen Sie rückgängig machen.
Verwenden Sie zum Wiederherstellen die Taste Ctrl+r
Weitere Informationen finden Sie im Abschnitt "Rückgängig" und "Wiederherstellen" des Vim-Dokuments .
: red [o] (eine rückgängig gemachte Änderung wiederholen) und {count} Ctrl+ r(rückgängig gemachte {count} Änderungen rückgängig machen) sind beide in Ordnung.
Auch das : frühere {count} (gehe zum älteren Textstatus {count} mal) könnte immer ein Ersatz für Rückgängig und Wiederherstellen sein.
CTRL+r
Das "r" ist klein geschrieben.
^r
und ^R
, und Vim folgt dem.
^X
(wobei X
ein beliebiger Buchstabe sein kann).
Verwenden Sie VsVim für Visual Studio?
Ich bin darauf gestoßen, als ich mit VsVim experimentiert habe, das Bindungen für Vim-Befehle in Visual Studio bereitstellt .
Ich weiß Ctrlrin Vim selbst Bescheid , aber diese bestimmte Bindung funktioniert nicht in VsVim (zumindest nicht in meinem Setup?).
Was jedoch funktioniert, ist der Befehl :red
. Dies ist ein bisschen mühsamer als oben, aber es ist immer noch in Ordnung, wenn Sie es wirklich brauchen.
In der Praxis :undolist
ist das schwer zu bedienen und die Vim- :earlier
und :later
Zeiterfassung von Änderungen ist nur für Kurskorrekturen verwendbar.
Angesichts dessen greife ich auf ein Plug-In zurück, das diese Funktionen kombiniert, um einen visuellen Baum mit durchsuchbaren Rückgängigmachungen namens "Gundo" bereitzustellen.
Dies ist natürlich nur dann zu verwenden, wenn Sie eine feinkörnige Korrektur benötigen oder wenn Sie sich nicht sicher sind, zu welchem genauen Status des Dokuments Sie zurückkehren möchten. Siehe: Gundo. Zeichnen Sie Ihren Vim-Rückgängig-Baum mit Stil