How do I answer y automatically (kill-matching-buffers asks if I should kill a modified buffer)?

前端 未结 4 657
深忆病人
深忆病人 2021-01-12 05:28

In Emacs - how do I kill buffers matching regexp?

Edit:

How do I answer y automatically (kill-matching-buffers ask

4条回答
  •  青春惊慌失措
    2021-01-12 06:22

    How do I answer y automatically (kill-matching-buffers asks if I should kill a modified buffer)?

    kill-matching-buffers calls kill-buffer-ask which calls yes-or-no-p. You could temporarily redefine the latter, but for safety reasons I am inclined not to do that -- killing a given buffer could trigger other functionality which needs to ask a yes-or-no question.

    Redefining kill-buffer-ask seems a safer bet (or simply copying and modifying the kill-matching-buffers function itself).

    (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)))
    

提交回复
热议问题