我如何自动回答y(kill-matching-buffers询问我是否应该杀死修改后的缓冲区)?

Ado*_*obe 8 emacs buffer

在Emacs中 - 如何杀死匹配regexp的缓冲区?

编辑:

我如何y自动回答(kill-matching-buffers询问我是否应该杀死修改后的缓冲区)?

像这样的东西?

(defun bk-kill-buffers (bfrRgxp)
  (interactive)
  (kill-matching-buffers bfrRgxp)
  [return])
Run Code Online (Sandbox Code Playgroud)

phi*_*ils 13

我如何自动回答y(kill-matching-buffers询问我是否应该杀死修改后的缓冲区)?

kill-matching-buffers打电话给kill-buffer-askyes-or-no-p.您可以暂时重新定义后者,但出于安全原因,我倾向于不这样做 - 杀死给定的缓冲区可能触发其他功能,需要问一个是或否的问题.

重新定义kill-buffer-ask似乎是一个更安全的赌注(或简单地复制和修改kill-matching-buffers函数本身).

(require 'cl)
(defun bk-kill-buffers (regexp)
  "Kill buffers matching REGEXP without asking for confirmation."
  (interactive "sKill buffers matching this regular expression: ")
  (flet ((kill-buffer-ask (buffer) (kill-buffer buffer)))
    (kill-matching-buffers regexp)))
Run Code Online (Sandbox Code Playgroud)