我有一个使用 dired 命令的目录缓冲区。我在该缓冲区中有一些标记的文件,我希望 emacs 在我终止缓冲区之前提示我。我知道我必须写一个钩子,但不知道要使用的 Lisp 或 emacs 函数。我如何写一个钩子或者有人可以提供一个钩子吗?
我看过其他钩子,但无法弄清楚在杀死缓冲区之前让 kill-current-buffer 提示我的钩子是什么。
没有提示:
(defun my-fun () (not (derived-mode-p 'dired-mode)))
(add-hook 'kill-buffer-query-functions 'my-fun)
有提示:
(defun my-fun ()
(or (not (derived-mode-p 'dired-mode))
(y-or-n-p (format "Kill Dired buffer `%s'" (current-buffer)))))
(add-hook 'kill-buffer-query-functions 'my-fun)