我如何编写一个 emacs 钩子来在杀死 dired 缓冲区之前进行提示?

问题描述 投票:0回答:1

我有一个使用 dired 命令的目录缓冲区。我在该缓冲区中有一些标记的文件,我希望 emacs 在我终止缓冲区之前提示我。我知道我必须写一个钩子,但不知道要使用的 Lisp 或 emacs 函数。我如何写一个钩子或者有人可以提供一个钩子吗?

我看过其他钩子,但无法弄清楚在杀死缓冲区之前让 kill-current-buffer 提示我的钩子是什么。

emacs buffer hook kill dired
1个回答
0
投票

没有提示:

(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)
© www.soinside.com 2019 - 2024. All rights reserved.