Иногда это происходит: emacs предлагает вам восстановить несохраненные изменения в файле, но вы не можете вспомнить, хотите ли вы эти изменения или нет.
Начиная с recover-this-file
буфера, есть ли способ просмотреть diff или иным образом напрямую увидеть изменения?
Например, что-то вроде того, что magit-mode
дает при закладке отредактированного файла в буфер состояния.
Ответы:
После запуска
recover-this-file
и принятия версии автосохранения у вас будет измененный буфер, содержащий содержимое автосохранения. На данный момент вы можете использовать, M-xdiff-buffer-with-file
RETчтобы увидеть различия между измененным буфером и сохраненным файлом.Ключ, который я назначил для этого, на самом деле запускает пользовательскую функцию, чтобы создать унифицированную разность и пропустить запрос для буфера (он предполагает текущий буфер).
Есть также эквивалентный ediff (который я обычно предпочитаю, хотя я использую оба), который доступен в M-x
ediff-current-file
RETЕсли вы хотите отклонить изменения после проверки различий, вы можете просто
undo
восстановить. (В противном случае вы всегда можете использоватьrevert-buffer
илиfind-alternate-file
.)Поскольку привязки клавиш для команд diff часто включают в себя =, я нахожу следующее удобным (но я отменил
C-z
привязку по умолчанию и переместил ее вместо нееC-z C-z
, что открываетC-z
префикс для пользовательских привязок):источник