153 votes

Comment est VIM ' arbre d’annuler s utilisé ?

Cette réponse , dit:

Vim est undo/redo système est imbattable. Tapez quelque chose, annuler, tapez quelque chose d'autre, et vous pouvez encore revenir en arrière, la première chose que vous avez tapé parce que Vim utilise une annulation de l'arbre plutôt que d'une pile. Dans presque tous les autres programmes, l'histoire de la première chose que vous avez tapé est perdu dans cette circonstance.

C'est la première fois que j'entends parler de cela. Comment puis-je revenir en arrière le long de l'arbre?

169voto

Brian Carper Points 40078

Voir aussi :h undo-redo, qui répertorie toutes les commandes et leur utilisation.

Il y a deux façons de traverser l'annulation de l'arbre. L'un est d'aller "dans le temps". g+ et g- va parcourir tous les nœuds de l'arbre dans l'ordre chronologique ou d'inversion de l'ordre chronologique (qui peut être un peu déroutant, car il peut sauter arbitrairement entre annuler les branches, mais si vous n' g- assez longtemps, vous aurez toujours obtenir où vous devez aller, finalement). :earlier et :later prendre un temps descripteur comme 7m ou 1h; là encore, cela peut vous sauter arbitrairement entre annuler les branches.

L'autre façon est de sauter à des noeuds dans l'arbre à l'aide de :undo nn est un nombre à une action. (Toutes les actions, c'est à dire le texte des ajouts, des suppressions, remplacements, sont numérotés dans l'ordre que vous les faites.) Vous pouvez consulter le nombre des actions sur les feuilles de l'annulation de l'arbre via :undolist. Cela vous permettra de sauter entre les branches facilement. Vous pouvez ensuite utiliser u et Ctrl-R de déplacer vers le haut et vers le bas de cette branche.

Il y a quelques bons exemples dans le Vim de l'aide. La meilleure façon de comprendre comment cela fonctionne est de jouer avec elle un peu.

73voto

Steve Losh Points 11958

Je suis un peu en retard à la fête, mais j’ai pensé que je voudrais mentionner que j’ai écrit un plugin de visualisation arborescence undo pour Vim : http://bitbucket.org/sjl/gundo.vim/

Personnellement, j’ai trouvé que représentant graphiquement l’arborescence comme ceci était la seule façon que je pourrais donner un sens.

18voto

SolutionYogi Points 16697

Cette page explique tout ce que vous devez savoir :

http://vimdoc.sourceforge.net/htmldoc/usr_32.html

17voto

Wadih M. Points 5161

Si vous utilisez vim, vous pouvez naviguer dans l’arborescence annuler à l’aide :

  • ``: (annuler) reculer dans l’arborescence de l’annulation
  • ``: (recommencer) aller de l’avant dans l’arborescence de l’annulation

D’autres façons de porter le document précédent ou suivant dans le temps :

  • ``: revenir au temps de 15 minutes
  • ``: bouger d’avant en temps de 15 minutes

8voto

Ben Fritz Points 71

Beaucoup de ceci est résumée ici :

http://vim.wikia.com/wiki/Using_undo_branches

Prograide.com

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.

Powered by:

X