Depois de executar recover-this-file
e aceitar a versão de salvamento automático, você terá um buffer modificado contendo o conteúdo do salvamento automático. Neste ponto, você pode usar M-x diff-buffer-with-file
RETpara ver as diferenças entre o buffer modificado e o arquivo salvo.
A chave que eu limitei para isso realmente executa uma função personalizada, a fim de produzir um diff unificado e ignorar o prompt do buffer (ele assume o buffer atual).
(defun my-diff-buffer-with-file ()
"Compare the current modified buffer with the saved version."
(interactive)
(let ((diff-switches "-u")) ;; unified diff
(diff-buffer-with-file (current-buffer))))
Há também um equivalente ediff (que geralmente prefiro, embora eu use os dois) disponível em M-x ediff-current-file
RET
Se você deseja rejeitar as modificações depois de verificar o diff, você poderá simplesmente undo
recuperar a recuperação. (Se você sempre pode usar revert-buffer
ou find-alternate-file
.)
Como as combinações de teclas para os comandos diff geralmente envolvem =, acho o seguinte conveniente (nb, desvinculei a C-z
ligação padrão e a movi para C-z C-z
, que se abre C-z
como um prefixo para ligações personalizadas):
(global-set-key (kbd "C-z =") 'my-diff-buffer-with-file)
(global-set-key (kbd "C-z C-=") 'ediff-current-file)