Comment revenir en arrière (ctrl + z) dans vi / vim

108

Dans les éditeurs de texte normaux [avec tout le respect que je dois à Vim], il y a un raccourci Ctrl+ Zlorsque vous avez fait quelque chose de méchant et que vous voulez revenir à la version précédente du texte. Comme le bouton RETOUR dans Word. Je me demande comment pouvez-vous obtenir ce comportement dans Vim.

Slazer
la source
1
La documentation Vim est également très bonne - :help undovous trouverez votre réponse à ce sujet, par exemple.
Chris Morgan
2
avant de plonger complètement dans vim, je vous suggère de parcourir le tutoriel (interactif)
karth
1
Merci à tous et désolé pour ce q. Doit en lire plus la prochaine fois.
Slazer
1
sous linux, CTRL-Z dans vi / vim / gvim signifie échapper à la console, ou mettre cela en arrière-plan. vous faites alors ce que vous voulez sur la console et tapez fg (premier plan) pour vous ramener dans la session d'édition de vim.
mancocapac du

Réponses:

189

Vous pouvez utiliser le ubouton pour annuler la dernière modification. (Et Ctrl+ Rpour le refaire).

En savoir plus à ce sujet sur: http://vim.wikia.com/wiki/Undo_and_Redo

Qiau
la source
2
Je mappe U à refaire afin de pouvoir annuler / refaire rapidement, tout l'historique des modifications si nécessaire, dans vimrc: nnoremap U <CR>
NeilG
10

La réponse, u(et bien d'autres) est là $ vimtutor.

romainl
la source
voter uniquement parce que je n'en ai jamais entendu parler vimtutorauparavant
Paiusco
4

Voici cependant une astuce. Vous pouvez mapper les touches Ctrl+ Z. Ceci peut être réalisé en éditant le .vimrcfichier. Ajoutez les lignes suivantes dans le fichier «.vimrc».

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

Cela peut ne pas être le moyen préféré, mais peut être utilisé.

** Ctrl+ Zest utilisé sous Linux pour suspendre le programme / processus en cours.

madD7
la source
1

Juste en mode normal, appuyez sur:

  • u- annuler ,
  • Ctrl+ r- refaire les modifications qui ont été annulées ( annuler les annulations ).

Annuler et rétablir

simhumileco
la source
Je sais que la plupart de ma réponse est dupliquée avec celles déjà présentes, mais la valeur ajoutée de ma réponse est refaite en Ctrl + r(minuscules r) en fonction de la documentation. Personne avant l'a mis ici. De plus, j'ai essayé de rendre la réponse aussi claire que possible.
simhumileco
0

Sur un mac, vous pouvez également utiliser la commande Z et cela sera annulé. Je ne sais pas pourquoi, mais parfois cela s'arrête, et si votre comme moi et vimtutor est au bas de cette longue liste de choses que vous devez apprendre, alors vous pouvez simplement fermer la fenêtre et la rouvrir et devrait fonctionner correctement.

Squirrl
la source
0

J'ai eu le même problème en ce moment et je l'ai résolu. Vous ne devez plus en avoir besoin alors j'écris pour les autres:

si vous utilisez gvim sous windows , ajoutez simplement ceci dans votre _vimrc : $VIMRUNTIME/mswin.vim behave mswin

sinon utilisez simplement imap ...

Cloud Duan
la source