kill-or-bury-alive 20170316.509(in MELPA)
Precise control over buffer killing in Emacs

概要

今見ているバッファを視界から消すには、
普通ならばC-x kでバッファを削除しますよね。

しかし、現在のコンピュータは大量のメモリを積んでいます。

将来、わずかながらでも再びそのバッファを見る可能性があることを考えると、
バッファを削除するのは馬鹿馬鹿しくなってきます。

そこで、C-x kに M-x bury-buffer を割り当てている人もいます。

bury-bufferは、バッファを削除するのではなく、
バッファリストの最後尾に移動するコマンドです。

そうすることでバッファ選択の選択肢に登りにくくなります。

いわば生き埋めにするような状態です。

とはいえ、すべてのバッファを生き埋めにするのではなく、
本当に削除したいバッファを指定したくなるときもあります。

そこで kill-or-bury-alive.el の出番です。

M-x kill-or-bury-alive をC-x kに割り当て直せば、
普段はbury-bufferを使用し、C-uをつければ削除します。

M-x kill-or-bury-aliveを制御する重要な変数は
kill-or-bury-alive-must-die-list で、
削除するバッファの正規表現、またはメジャーモードを指定します。

バッファがあまりにも増えすぎてしまった場合はどうします?
素直にEmacsを再起動してください。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてkill-or-bury-aliveを使う方は
以下のコマンドを実行します。

M-x package-install kill-or-bury-alive

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name kill-or-bury-alive

設定 150906103640.kill-or-bury-alive.el(以下のコードと同一)

(global-set-key (kbd "C-x k") 'kill-or-bury-alive)
(setq kill-or-bury-alive-must-die-list
      '("\\.\\(jpg\\|png\\|gif\\|bmp\\)$" ;画像は削除する
        ;; shellやeshellのバッファは削除する
        shell-mode eshell-mode
        ))

実行方法

$ wget http://rubikitch.com/f/150906103640.kill-or-bury-alive.el
$ emacs -Q -f package-initialize -l 150906103640.kill-or-bury-alive.el


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。