Подтвердить что ты не робот

Выделять модификации буфера

Часто возникает изменение файлового буфера (duh!). Перед выходом emacs спрашивает, сохранять ли изменения. Теперь было бы интересно узнать, что на самом деле изменилось. Есть ли способ узнать?

4b9b3361

Ответ 1

Как по Emacs 22.1 (по крайней мере), 'save-buffers-kill-emacs (привязка по умолчанию для C-x C-c) предлагает вам для каждого несохраненного буфера, у которого есть файл. Введите a d, когда появится запрос на сохранение и просмотр diff.

Из справочной документации:

Save some modified file-visiting buffers.  Asks user about each one.
You can answer `y' to save, `n' not to save, `C-r' to look at the
buffer in question with `view-buffer' before deciding or `d' to
view the differences using `diff-buffer-with-file'.

Если вы посмотрите на приглашение, он должен сказать что-то вроде:

Save file /path/to/file.txt? (y, n, !, ., q, C-r, d, or C-h) 

Ввод C-h дает вам несколько более подробное описание (но d это то, о чем вы просите):

Type SPC or `y' to save the current buffer;
DEL or `n' to skip the current buffer;
RET or `q' to give up on the save (skip all remaining buffers);
C-g to quit (cancel the whole command);
! to save all remaining buffers;
C-r to view this buffer;
d to view changes in this buffer;
or . (period) to save the current buffer and exit.

Ответ 2

Я использую diff-buffer-with-file и выбираю файл, из которого был получен буфер (который по умолчанию используется для команды... просто нажмите enter).

Вы также можете использовать режим highlight-changes-mode, хотя это не будет отслеживать изменения, пока вы его не включите, поэтому не так полезно, если вы хотите увидеть, что изменилось, когда вы закрываете файл, который не был в этом mode: -)

Ответ 3

Вы можете включить highlight-changes-mode. Он отобразит все изменения красного цвета. Однако он не покажет вам изменения в пробелах и отметит удаление только с помощью красного _. См. Также http://www.emacswiki.org/emacs/TrackChanges.

Ответ 4

Я нашел этот сообщение об отслеживании изменений djcb наиболее полезен в отношении отслеживания изменений в Emacs. Трюк состоит в том, чтобы добавить следующее в ваш .emacs:

;; higlight changes in documents
(global-highlight-changes-mode t)
(setq highlight-changes-visibility-initial-state nil); initially hide

а затем переключить подсветку-изменения-видимый режим, когда вы хотите увидеть, что изменилось.

Ответ 5

В этом случае я напечатаю undo, чтобы увидеть последнее изменение (обычно это какой-то бродячий символ, который попал в неправильное окно, так как я сохраняю раньше и часто).

Было бы неплохо, если бы было какое-то другое указание на текущие изменения, например. на границе, как быстрая разметка в текстовых редакторах Eclipse.

Ответ 6

Я использую goto-chg для подобных вещей. Это не идеально, но этого всегда достаточно, чтобы пробежать память о том, что я сделал и о чем быстро забыл.