*scratch*, *Messages* 以外のバッファを一気にkill

欲しかったので作成。初elisp!

(defun my-kill-all-buffer()
  (interactive)
  (yes-or-no-p "kill all buffer? ")
  (dolist (buf (buffer-list))
    (unless (member (buffer-name) '("*scratch*" "*Messages*"))
        (kill-buffer buf))))
メモ
  • yes-or-no-p
    • 実行するかの確認がだせる。y-or-n-p というのもある
  • buffer-name
    • 対象のバッファの名前
  • member
    • 第1引数が、第二引数のリストに含まれているかどうか判定
追記

一部のバッファが残る場合があったので修正

(defun my-kill-all-buffer()
  (interactive)
  (yes-or-no-p "kill all buffer? ")
  (dolist (buf (buffer-list))
        (kill-buffer buf)))