Czasami tak się dzieje: emacs monituje o odzyskanie niezapisanych zmian w pliku, ale nie pamiętasz, czy chcesz te zmiany, czy nie.
Zaczynając od recover-this-file
bufora, czy istnieje sposób, aby wyświetlić różnicę lub w inny sposób bezpośrednio zobaczyć zmiany?
Na przykład coś takiego, co magit-mode
daje, gdy tabulowany jest edytowany plik w buforze stanu.
Odpowiedzi:
Po uruchomieniu
recover-this-file
i zaakceptowaniu wersji automatycznego zapisywania będziesz mieć zmodyfikowany bufor zawierający zawartość automatycznego zapisu. W tym momencie możesz użyć, M-xdiff-buffer-with-file
RETaby zobaczyć różnice między zmodyfikowanym buforem a zapisanym plikiem.Klucz, do którego się do tego zobowiązałem, faktycznie uruchamia funkcję niestandardową, w celu utworzenia zunifikowanego pliku różnicowego i pominięcia monitu o bufor (przyjmuje on bieżący bufor).
Istnieje również odpowiednik ediff (który ogólnie wolę, chociaż używam obu), który jest dostępny na stronie M-x
ediff-current-file
RETJeśli chcesz odrzucić modyfikacje po sprawdzeniu różnicy, powinieneś być w stanie po prostu
undo
odzyskać. (W przeciwnym razie zawsze możesz użyćrevert-buffer
lubfind-alternate-file
.)Ponieważ często występują skróty klawiaturowe dla poleceń diff =, uważam, że jest to wygodne (nb odwiązałem domyślne
C-z
wiązanie i przeniosłem je doC-z C-z
, które otwiera sięC-z
jako przedrostek dla niestandardowych powiązań):źródło