W Vimie zbyt wiele cofnąłem. Jak mogę to cofnąć (czyli powtórzyć)?
W Vimie zbyt wiele cofnąłem. Jak mogę to cofnąć (czyli powtórzyć)?
Odpowiedzi:
Ctrl+r
Cmd + r
bałagan? Z pewnością robi coś dziwnego; ale Ctrl + r
po prostu działało dobrze dla mnie (Mac + tmux + vim)
Zobacz także :undolist
, która oferuje wiele ścieżek w historii cofania. Jest to przydatne, jeśli przypadkowo wpiszesz coś po cofnięciu zbyt wiele.
:undolist
i wpisz :undo 178
(powiedz), aby przewinąć do kroku 178.
:undolist
?
Użyj :earlier
/ :later
. Aby powtórzyć wszystko, co musisz zrobić
later 9999999d
(zakładając, że najpierw edytowany plik co najwyżej 9999999 dni temu), albo, jeśli pamiętać różnicę między aktualnym stanem cofania i potrzebował jednego, użytkowania Nh
, Nm
lub Ns
na godziny, minuty i sekundy odpowiednio. + :later N<CR>
<=> Ng+
i :later Nf
do zapisu plików.
:later
pracował dla mnie w vi
(nie vim - wyszukiwał „go” w google, ale wszystkie wyniki są dla „vim”), dzięki!
vi
polecenie, jest to dowiązanie symboliczne do pliku wykonywalnego vim lub jego kopia. Jednak nie do końca wszędzie.
vim: command not found
. Następną rzeczą, którą robię, jest to, alias vim=vi
że piszę to automatycznie, ale mimo to jest to zwykła stara vi. Również redo (ctrl + r) działałoby poprawnie, gdyby vi był aliasem dla vima.
<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}
W trybie poleceń użyj Uklawisza do cofnięcia i Ctrl+ rdo powtórzenia. Zajrzyj na http://www.vim.org/htmldoc/undo.html .
Najpierw naciśnij Esc klawisz, aby wyjść z trybu edycji.
Następnie,
Aby cofnąć , użyj uklucza tyle razy, ile chcesz cofnąć.
Aby powtórzyć , użyj klawisza Ctrl+r
Zobacz część „cofnij” i „ponów” w dokumencie Vima .
: red [o] (Ponów jedną cofniętą zmianę) i {count} Ctrl+r (Ponów {liczba} zmian, które zostały cofnięte) są w porządku.
Ponadto : wcześniej {liczba} (przejdź do starszego stanu tekstu {liczba} razy) zawsze może zastąpić cofanie i ponawianie.
CTRL+r
„R” ma małe litery.
^r
i ^R
, a Vim za tym podąża.
^X
(gdzie X
może być dowolna litera).
Używasz VsVim dla Visual Studio?
Natknąłem się na to podczas eksperymentowania z VsVim, który zapewnia powiązania dla poleceń Vima w Visual Studio .
Wiem o Ctrlrsamym Vimie, ale to szczególne wiązanie nie działa w VsVim (a przynajmniej nie w mojej konfiguracji?).
Co robi prac jest jednak komenda :red
. Jest to trochę trudniejsze niż powyższe, ale nadal jest w porządku, gdy naprawdę potrzebujesz.
Praktycznie rzecz biorąc, :undolist
jest trudny w użyciu, a Vim :earlier
i:later
śledzenie zmian czas jest użyteczne tylko w przypadku poprawek kursu.
Biorąc to pod uwagę, korzystam z wtyczki, która łączy te funkcje w celu zapewnienia wizualnego drzewa możliwych do przeglądania cofnięć, zwanego „Gundo”.
Oczywiście jest to przydatne tylko wtedy, gdy potrzebujesz drobnoziarnistej poprawki lub nie jesteś pewien dokładnego stanu dokumentu, do którego chcesz wrócić. Zobacz: Gundo. Wyświetl stylowo swoje drzewo cofania Vima