Используйте ibuffer
, который должен поставляться со всеми последними моделями emacsen. Поместите в ваш файл .emacs следующее:
(autoload 'ibuffer "ibuffer" "" t)
(global-set-key (kbd "C-x C-b") 'ibuffer)
(defun my-ibuffer-load-hook ()
"Hook for when ibuffer is loaded."
(define-ibuffer-filter unsaved-file-buffers
"Only show unsaved buffers backed by a real file."
(:description "unsaved file buffers")
(and (buffer-local-value 'buffer-file-name buf)
(buffer-modified-p buf)))
(define-key ibuffer-mode-map (kbd "/ *") 'ibuffer-filter-by-unsaved-file-buffers)
)
;; (add-hook 'ibuffer-load-hook 'my-ibuffer-load-hook)
(eval-after-load 'ibuf-ext '(my-ibuffer-load-hook))
Затем используйте C-x C-b
, чтобы вызвать список ibuffer, и / *
, чтобы показать только несохраненные буферы, подкрепленные реальным файлом (так, например, вы не видите *scratch*
в списке). Отметьте нужные буферы с помощью m
, а затем сохраните их с помощью S
.