Come tornare indietro (ctrl + z) in vi / vim


108

Nei normali editor di testo [con tutto il rispetto per Vim] c'è una scorciatoia Ctrl+ Zquando hai fatto qualcosa di brutto e vuoi tornare alla versione precedente del testo. Come il pulsante INDIETRO in Word. Mi chiedo come puoi ottenere questo comportamento in Vim.



1
Anche la documentazione di Vim è molto buona: :help undotroverai la tua risposta su questo, ad esempio.
Chris Morgan

2
prima di immergerti completamente in vim, ti suggerisco di seguire il tutorial (interattivo)
karth

1
Grazie a tutti e scusa per questo q. La prossima volta devo leggere di più.
Slazer

1
su Linux, CTRL-Z in vi / vim / gvim significa fuga alla console, o metterlo in background. fai quindi quello che vuoi sulla console e digita fg (foreground) per riportarti nella sessione di modifica di vim.
mancocapac

Risposte:


189

È possibile utilizzare il upulsante per annullare l'ultima modifica. (E Ctrl+ Rper rifarlo).

Maggiori informazioni a riguardo su: http://vim.wikia.com/wiki/Undo_and_Redo


2
Mappo U per ripetere in modo da poter annullare / ripetere rapidamente, l'intera cronologia delle modifiche se necessario, in vimrc: nnoremap U <CR>
NeilG

10

La risposta,, u(e molti altri) è in $ vimtutor.


voto solo perché non ne ho mai sentito parlare vimtutorprima
Paiusco

4

Ecco però un trucco. Puoi mappare i tasti Ctrl+ Z. Ciò può essere ottenuto modificando il .vimrcfile. Aggiungi le seguenti righe nel file ".vimrc".

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

Questo potrebbe non essere il modo preferito, ma può essere utilizzato.

** Ctrl+ Zè utilizzato in Linux per sospendere il programma / processo in corso.


1

Solo in modalità normale premere:

  • u- annullare ,
  • Ctrl+ r- ripristina le modifiche annullate ( annulla gli annullamenti ).

Annulla e ripeti


So che la maggior parte della mia risposta è duplicata con quelle già presenti, ma il valore aggiunto della mia risposta è rifare come Ctrl + r(minuscolo r) in base alla documentazione. Nessuno prima l'ha messo qui. Inoltre, ho cercato di rendere la risposta il più chiara possibile.
simhumileco

0

Su un Mac puoi anche usare il comando Z e questo andrà annullato. Non sono sicuro del perché, ma a volte si ferma, e se il tuo come me e vimtutor è in fondo a quella lunga lista di cose che devi imparare, allora puoi semplicemente chiudere la finestra e riaprirla e dovrebbe funzionare bene.


0

Ho avuto lo stesso problema in questo momento e l'ho risolto. Non devi più averne bisogno quindi scrivo per altri:

se usi gvim su Windows , aggiungilo semplicemente nel tuo _vimrc : $VIMRUNTIME/mswin.vim behave mswin

altrimenti usa solo imap ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.