После запуска recover-this-file
и принятия версии автосохранения у вас будет измененный буфер, содержащий содержимое автосохранения. На данный момент вы можете использовать, M-x diff-buffer-with-file
RETчтобы увидеть различия между измененным буфером и сохраненным файлом.
Ключ, который я назначил для этого, на самом деле запускает пользовательскую функцию, чтобы создать унифицированную разность и пропустить запрос для буфера (он предполагает текущий буфер).
(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))))
Есть также эквивалентный ediff (который я обычно предпочитаю, хотя я использую оба), который доступен в M-x ediff-current-file
RET
Если вы хотите отклонить изменения после проверки различий, вы можете просто undo
восстановить. (В противном случае вы всегда можете использовать revert-buffer
или find-alternate-file
.)
Поскольку привязки клавиш для команд diff часто включают в себя =, я нахожу следующее удобным (но я отменил C-z
привязку по умолчанию и переместил ее вместо нее C-z C-z
, что открывает C-z
префикс для пользовательских привязок):
(global-set-key (kbd "C-z =") 'my-diff-buffer-with-file)
(global-set-key (kbd "C-z C-=") 'ediff-current-file)