Cela se produit parfois: emacs vous invite à récupérer les modifications non enregistrées dans un fichier, mais vous ne pouvez pas vous souvenir si vous souhaitez ou non ces modifications.
À partir de la recover-this-file
mémoire tampon, existe-t-il un moyen d'afficher un diff ou de voir directement les modifications?
Par exemple, quelque chose comme ce magit-mode
qui se passe quand on tabule sur un fichier édité dans le tampon d'état.
Réponses:
Après avoir exécuté
recover-this-file
et accepté la version avec sauvegarde automatique, vous disposez d'un tampon modifié contenant le contenu de la sauvegarde automatique. À ce stade, vous pouvez utiliser M-xdiff-buffer-with-file
RETpour voir les différences entre le tampon modifié et le fichier enregistré.La clé à laquelle je me suis adressé exécute en fait une fonction personnalisée afin de produire un diff unifié et d'ignorer l'invite du tampon (elle suppose le tampon actuel).
Il existe également un équivalent ediff (que je préfère généralement, bien que j’utilise les deux), qui est disponible à l’adresse suivante: M-x
ediff-current-file
RETSi vous souhaitez rejeter les modifications après avoir vérifié le diff, vous devriez pouvoir simplement
undo
récupérer. (A défaut, vous pouvez toujours utiliserrevert-buffer
oufind-alternate-file
.)Comme les raccourcis clavier pour les commandes diff impliquent souvent =, je trouve la solution suivante pratique (nb, j'ai dissocié la
C-z
liaison par défaut et je l'ai déplacée à la placeC-z C-z
, qui s'ouvreC-z
comme préfixe pour les liaisons personnalisées):la source