*usr_32.txt* Pour Vim version 7.0. Denière modification : 30 avr 2006
MANUEL de l'UTILISATEUR VIM - par Bram Moolenaar
L'arbre des annulations
Vim propose un méchanisme d'annulation à niveaux multiples. Si vous annulez
quelques changements avant de faire un nouveau changement, vous créez une
nouvelle branche dans l'arbre des annulations. Ce chapitre explique comment se
déplacer dans ces branches.
|32.1| Numéroter les changements
|32.2| Se déplacer dans l'arbre
|32.3| Voyager dans le temps
Chapitre suivant : |usr_40.txt| Créer de nouvelles commandes
Chapitre précédent : |usr_31.txt| Exploiter l'interface graphique
Table des matières : |usr_toc.txt|==============================================================================*32.1* Numéroter les changements
Dans la section |02.5|, nous avons uniquement discuté d'une ligne
d'annulation/restauration. Il est cependant également possible d'avoir des
embranchements. Cela arrive lorsque vous annulez quelques changements avant
d'en effectuer un nouveau. Les nouveaux changements deviennent une branche de
l'arbre des annulations.
Commençons avec le texte « un ». Le premier changement sera d'ajouter
« doux ». Puis on se deplacera sur le « o » pour le changer en un « e ». Nous
aurons donc deux changements numérotés 1 et 2 et trois état du texte :
un ~
|
changement 1
|
un doux ~
|
changement 2
|
un deux ~
Si nous annulons maintenant un changement, de retour à « un doux », et que
l'on change le « un » en « des », on crée une branche dans l'arbre des
annulations :
un ~
|
changement 1
|
un doux ~
/ \
changement 2 changement 3
| |
un deux des doux ~
Vous pouvez maintenant utiliser la commande |u| pour annuler. Si vous faites
ceci deux fois, vous retournerez à « un ». Utilisez |CTRL-R| pour restaurer,
et vous retournerez à l'étape « un doux ». Un |CTRL-R| de plus vous permet de
retrouver « des doux ». Ainsi, les annulations et restaurations permettent de
se deplacer de haut en bas et de bas en haut dans l'arbre, en utilisant la
branche la plus récemment utilisée.
Ce qui importe est l'ordre dans lequel les changements sont faits. Les
annulations et les restaurations ne sont pas considérées comme des changements
dans ce contexte. Après chaque changement, vous avez un nouvel état pour le
texte.
Notez que seuls les changements sont numérotés, les textes presentés dans
l'arbre ci-dessus n'est pas d'identifiant. Il est référencé par le numéro
du changement au dessus de lui. Mais aussi quelques fois par le numéro d'un
des changements en dessous, particulièrement lorsque l'on se déplace vers le
haut dans l'arbre, afin de savoir quel changement vient juste d'être annulé.
==============================================================================*32.2* Se déplacer dans l'arbre
Bon, comment obtenir le « un deux » maintenant ? Vous pouver utiliser cette
commande :
:undo 2
Le texte est maintenant « un deux », vous êtes en dessous du changement 2.
Vous pouvez utiliser la commande |:undo| pour sauter en dessous de n'importe
quel changement dans l'arbre.
Effectuons maintenant un autre changement : remplaçons le « un » par « pas » :
un ~
|
changement 1
|
un doux ~
/ \
changement 2 changement 3
| |
un deux des doux ~
|
changement 4
|
pas deux ~
Maintenant, vous changez d'avis et voulez retourner à « des doux ». Utilisez
la commande |g-|. Cela permet de remonter le temps. En effet, cela ne permet
pas de naviguer vers le haut ou vers le bas dans l'arbre, mais saute au
changement effecuté précédemment.
Vous pouvez répéter |g-| et vous verrez le texte changer :
You can repeat |g-| and you will see the text change:
des doux ~
un deux ~
un doux ~
un ~
Utilisez |g+| pour avancer en avant dans le temps :
un ~
un doux ~
un deux ~
des doux ~
pas deux ~
Utiliser |:undo| est utile si vous savez à quel changement vous voulez sauter.
|g-| et |g+| sont utiles si vous ne connaissez pas exactement le numéro du
changement.
Vous pouvez utiliser un compteur avant les commandes |g-| et |g+| pour
qu'elles soient répétées.
==============================================================================*32.3* Voyager dans le temps
Lorsque vous avez travailler sur un texte pendant un moment, l'arbre s'étend
et devient gros. Vous pouvez alors vouloir retourner au texte tel qu'il était
quelques minutes auparavant.
Pour voir quelles branches sont dans l'arbre d'annulation, utilisez cette
commande :
:undolist
number changes time ~
3 2 16 seconds ago
4 3 5 seconds ago
Ici, vous pouvez voir le nombre de feuilles de chaque branches et à quel
moment le changement a été réalisé. Si nous somme en dessous du changement 4,
à « pas deux », vous pouvez retourner en arrière de dix secondes avec cette
commande :
:earlier 10s
Suicant le temps que vous avez pris pour les changements, vous vous
retrouverez à une position donnée dans l'arbre. L'argument de laa commande
|:earlier| peut être « m » pour des minutes et « h » pour des heures. Pour
revenir au tout début de l'édition, vous pouvez utiliser un grand nombre :
:earlier 10h
Pour voyager en avant dans le temps, vous pouvez utiliser la commande
|:later| :
:later 1m
Les arguments de cette commande sont « s », « m » ou « h » comme ceux de la
commande |:earlier|.
==============================================================================
Chapitre suivant : |usr_40.txt| Créer de nouvelles commandes
Copyright: voir |manual-copyright| vim:tw=78:ts=8:ft=help:norl: