$ g() { return; }
$ declare -f g > /dev/null; echo $?
0
$ declare -f j > /dev/null; echo $?
1
Cx Cb
( Mx list-buffers
) отображает список всех буферов. Измененные будут отмечены *
рядом с ними. Вы можете пометить буфер для сохранения, нажав s
. Когда вы закончите, нажмите x
, чтобы сохранить все отмеченные вами буферы.
К сожалению, насколько мне известно, нет способа показать только несохраненные буферы или отсортировать их, чтобы они все наверху.
(Я предпочитаю Mx ibuffer
Mx list-buffers
, но 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))
Затем используйте Cx Cb
, чтобы открыть список буферов, и / *
, чтобы показать только несохраненные буферы, поддерживаемые реальным файлом (так например, в списке нет * царапина *
). Отметьте желаемые буферы с помощью m
, а затем сохраните их с помощью S
.
В Emacs 23, с ibuffer:
Как ни странно, *u не отмечает "специальные" буферы, такие как scratch, компиляция и т.д.... Полагаю, я переопределяю имя ...