Jak wrócić (ctrl + z) w vi / vim

108

W zwykłych edytorach tekstu [z całym szacunkiem dla Vima] jest skrót Ctrl+, Zkiedy zrobiłeś coś paskudnego i chcesz wrócić do poprzedniej wersji tekstu. Podobnie jak przycisk WSTECZ w programie Word. Zastanawiam się, jak możesz osiągnąć to zachowanie w Vimie.

Slazer
źródło
1
Dokumentacja Vima jest również bardzo dobra - :help undoznajdziesz na przykład twoją odpowiedź na ten temat.
Chris Morgan,
2
przed całkowitym zanurzeniem się w vimie proponuję przejść przez (interaktywny) samouczek
karth
1
Dziękuję wszystkim i przepraszam za to q. Następnym razem muszę przeczytać więcej.
Slazer
1
na Linuksie CTRL-Z w vi / vim / gvim oznacza ucieczkę do konsoli lub umieszczenie tego w tle. następnie robisz co chcesz na konsoli i wpisujesz fg (pierwszy plan), aby wrócić do sesji edycji vima.
mancocapac

Odpowiedzi:

189

Możesz użyć uprzycisku, aby cofnąć ostatnią modyfikację. (I Ctrl+, Raby to powtórzyć).

Przeczytaj więcej na ten temat pod adresem : http://vim.wikia.com/wiki/Undo_and_Redo

Qiau
źródło
2
Mapuję U na ponawianie, więc mogę szybko cofnąć / powtórzyć całą historię edycji, jeśli to konieczne, w vimrc: nnoremap U <CR>
NeilG
10

Odpowiedź u(i wiele innych) jest dostępna $ vimtutor.

romainl
źródło
się głosowanie tylko dlatego, że nigdy nie słyszałem o vimtutorprzed
Paiusco
4

Oto jednak sztuczka. Możesz mapować klawisze Ctrl+ Z. Można to osiągnąć edytując .vimrcplik. Dodaj następujące wiersze w pliku „.vimrc”.

nnoremap <c-z> :u<CR>      " Avoid using this**
inoremap <c-z> <c-o>:u<CR>

Może nie jest to preferowany sposób, ale można go użyć.

** Ctrl+ Zjest używany w Linuksie do zawieszenia trwającego programu / procesu.

madD7
źródło
1

Po prostu w trybie normalnym naciśnij:

  • u- cofnij ,
  • Ctrl+ r- redo zmiany, które były niedokończone ( cofnąć się cofanie ).

Cofnij i ponów

simhumileco
źródło
Wiem, że większość moich odpowiedzi jest dublowana z już obecnymi, ale wartość dodana mojej odpowiedzi jest powtórzona jako Ctrl + r(małymi literami r) na podstawie dokumentacji. Nikt wcześniej tego tutaj nie umieścił. Ponadto starałem się, aby odpowiedź była jak najjaśniejsza.
simhumileco
0

Na komputerze Mac możesz również użyć polecenia Z, a to się cofnie. Nie jestem pewien dlaczego, ale czasami się zatrzymuje, a jeśli tak jak ja i vimtutor znajduje się na dole tej długiej listy rzeczy, których musisz się nauczyć, możesz po prostu zamknąć okno i ponownie je otworzyć i powinno działać dobrze.

Squirrl
źródło
0

Miałem teraz ten sam problem i rozwiązałem go. Nie możesz już tego potrzebować, więc piszę dla innych:

jeśli używasz gvim w systemie Windows , po prostu dodaj to w swoim _vimrc : $VIMRUNTIME/mswin.vim behave mswin

inaczej po prostu użyj imap ...

Cloud Duan
źródło