À Vim, j'en ai trop fait. Comment annuler cela (c'est-à-dire, refaire)?
À Vim, j'en ai trop fait. Comment annuler cela (c'est-à-dire, refaire)?
Réponses:
Ctrl+r
Cmd + r
? Cela fait certainement quelque chose de bizarre; mais Ctrl + r
ça a bien fonctionné pour moi (Mac + tmux + vim)
Consultez également :undolist
, qui offre plusieurs chemins à travers l'historique d'annulation. Ceci est utile si vous tapez accidentellement quelque chose après avoir trop annulé.
:undolist
et tapez :undo 178
(disons) pour revenir en arrière à l'étape 178.
:undolist
?
Utilisez :earlier
/ :later
. Pour refaire tout ce que vous avez juste à faire
later 9999999d
( en supposant que vous devez d' abord modifié le fichier au plus il y a 9999999 jours), ou, si vous vous rappelez la différence entre l' état actuel et undo un besoin, l' utilisation Nh
, Nm
ou Ns
pendant des heures, minutes et secondes respectivement. + :later N<CR>
<=> Ng+
et :later Nf
pour les écritures de fichiers.
:later
travaillé pour moi dans vi
(pas vim - recherché "vi" sur google mais tous les résultats sont pour "vim"), merci!
vi
commande, il s'agit d'un lien symbolique vers un exécutable vim ou une copie de celui-ci. Pas complètement partout cependant.
vim: command not found
. La prochaine chose que je fais est alias vim=vi
parce que je le tape si automatiquement, mais c'est quand même le vi vieux. De plus, refaire (ctrl + r) aurait fonctionné correctement si vi avait été un alias pour vim.
<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}
En mode commande, utilisez la Utouche pour annuler et Ctrl+ rpour rétablir. Jetez un œil à http://www.vim.org/htmldoc/undo.html .
Appuyez d'abord sur la Esctouche pour quitter le mode édition.
Alors,
Pour annuler , utilisez la utouche autant de fois que vous souhaitez annuler.
Pour refaire , utilisez la touche Ctrl+r
Reportez-vous à la partie "annuler" et "rétablir" du document Vim .
: red [o] (Rétablir un changement qui a été annulé) et {count} Ctrl+ r(Rétablir {count} changements qui ont été annulés) sont tous deux corrects.
De plus, le : {count} plus tôt (passer à un état de texte plus ancien {count} fois) pourrait toujours être un substitut pour annuler et refaire.
CTRL+r
Le "r" est en minuscule.
^r
et ^R
, et Vim suit cela.
^X
(où X
peut être n'importe quelle lettre).
Vous utilisez VsVim pour Visual Studio?
Je suis tombé sur ce problème lors de l'expérimentation de VsVim, qui fournit des liaisons pour les commandes Vim dans Visual Studio .
Je sais Ctrlrdans Vim lui-même, mais cette liaison particulière ne fonctionne pas dans VsVim (du moins pas dans ma configuration?).
Ce qui fonctionne cependant, c'est la commande :red
. C'est un peu plus compliqué que ce qui précède, mais c'est toujours bien quand vous en avez vraiment besoin.
En pratique, le :undolist
est difficile à utiliser et Vim :earlier
et le :later
suivi temporel des modifications ne sont utilisables que pour les corrections de grain de cours.
Compte tenu de cela, j'ai recours à un plug-in qui combine ces fonctionnalités pour fournir une arborescence visuelle d'annulations navigables, appelée «Gundo».
Évidemment, c'est quelque chose à utiliser uniquement lorsque vous avez besoin d'une correction à grain fin, ou si vous n'êtes pas sûr de l'état exact du document que vous souhaitez retourner. Voir: Gundo. Représentez graphiquement votre arbre d'annulation Vim avec style