Existe-t-il une extension «annulation locale» pour Emacs?

16

Il arrive assez souvent que je veuille annuler les modifications localement ou par ligne. Par exemple, lorsque je modifie plusieurs lignes dans un code source et que je souhaite revenir sur une seule d'entre elles, je dois parcourir l'arborescence d'annulation complète pour trouver l'état dans lequel je veux revenir. Ce serait mieux si je pouvais seulement retourner la région marquée ou la ligne où se trouve le point. Y a-t-il déjà quelque chose comme ça?

Lenar Hoyt
la source

Réponses:

22

Il s'agit de la fonctionnalité standard d'Emacs (depuis 1998 / 20.3).

En supposant que le mode de marque transitoire est activé, marquez simplement la région et utilisez l'annulation comme d'habitude, et Emacs effectuera des opérations d'annulation pertinentes pour la région (active) uniquement.

Avec le mode de marque transitoire désactivé ou si la région marquée n'est pas active, utilisez un C-uargument préfixe pour la commande d'annulation.

Voir: C-hf undo
ou "annulation sélective" dans le manuel:C-hig (emacs) Undo

phils
la source