Dans Vim, j'ai trop défait. Comment défaire (c'est-à-dire refaire) ?
Je voudrais juste proposer le plugin undoTree, super génial pour les fois où vous vous êtes apparemment plantés avec une flopée d'annulations et de refontes.
Dans Vim, j'ai trop défait. Comment défaire (c'est-à-dire refaire) ?
Je voudrais juste proposer le plugin undoTree, super génial pour les fois où vous vous êtes apparemment plantés avec une flopée d'annulations et de refontes.
Si je lis sur vi, alors mes doigts agissent d'eux-mêmes. Les commandes vi ne fonctionnent pas sur stackoverflow :-)
Note aux utilisateurs de Mac : Ctrl + r dans un terminal Mac va ruiner votre journée dans vim. Je ne connais pas la combinaison de touches appropriée dans le terminal Mac pour annuler, mais ce n'est certainement PAS Ctrl + r !
@amindfv : prendre le nombre de :undolist
et le type :undo 178
(say) pour revenir à l'étape 178.
Existe-t-il un moyen d'indiquer ce qui sera exactement annulé dans le cadre de l'opération :undolist
?
Utilisez :earlier
/ :later
. Pour tout refaire, il suffit de faire
later 9999999d
(en supposant que vous avez édité le fichier pour la première fois il y a au maximum 9999999 jours), ou, si vous vous souvenez de la différence entre l'état d'annulation actuel et l'état nécessaire, utilisez Nh
, Nm
ou Ns
pour les heures, les minutes et les secondes respectivement. + :later N<CR>
<=> Ng+
et :later Nf
pour les écritures de fichiers.
:later
a fonctionné pour moi dans vi
(pas vim -- j'ai cherché "vi" sur google mais tous les résultats sont pour "vim"), merci !
@Luc Presque partout où vous avez vi
il s'agit d'un lien symbolique vers un exécutable vim ou une copie de celui-ci. Pas complètement partout cependant.
@ZyX J'aimerais que ce soit vrai. Je n'utilise vi qu'après que bash ait jeté un vim: command not found
. La prochaine chose que je fais est alias vim=vi
parce que je le tape si automatiquement, mais c'est le bon vieux vi néanmoins. De même, redo (ctrl+r) aurait fonctionné correctement si vi avait été un alias de 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 commande U pour annuler et Ctrl + r à refaire. Jetez un coup d'œil à http://www.vim.org/htmldoc/undo.html .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
111 votes
Comme j'ai déjà recueilli 2 votes serrés, je pense que cette question a sa place ici car vim est un éditeur pour programmeurs.
30 votes
Je suis d'accord, c'est lié à la programmation et c'est une vraie question.
44 votes
Quelqu'un ici fait le tour et marque chaque question sur Vim comme "appartient à SU" alors que la communauté a décidé depuis longtemps que Vim appartient à SO, étant un outil de programmation.
0 votes
@Brian : Avez-vous un lien vers le document où ce consensus a été atteint ?
0 votes
meta.stackexchange.com/questions/22963/
12 votes
meta.stackexchange.com/questions/20251/ mais je me souviens qu'on en a parlé l'année dernière. Vim/Emacs sont des IDEs. De plus, les langages utilisés dans les fichiers de configuration des deux sont des langages de script complets de Turing, donc l'acte de configurer Vim est en soi de la programmation pour commencer.
0 votes
@Elyasin : Les questions existantes ne sont pas migrées vers les nouveaux réseaux.