Ibufferとは

IbufferはBufferMenuにかわるDiredと同じようにバッファを操作できる モードです. Ibufferにはハイライトしたりさまざまなレイアウトにする機能があります. Emacs24の一部です.

.emacsの設定

(global-set-key (kbd “C-x C-b”) ‘ibuffer)
(autoload ‘ibuffer “ibuffer” “List buffers.” t)

アスタリスクで始まるバッファを隠す

私は設定していませんが,アスタリスクで始まるバッファを隠すことができます.

(require ‘ibuf-ext)
(add-to-list ‘ibuffer-never-show-predicates “^\\*”)

フィルターグループの設定

フィルターの設定をすることで,バッファをグループ化できます.

(setq ibuffer-saved-filter-groups
‘((“home”
(“emacs-config” (or (filename . “.emacs.d”)
(filename . “emacs-config”)))
(“tsutomuonoda.com” (filename . “tsutomuonoda”))
(“Org” (or (mode . org-mode)
(filename . “OrgMode”)))
(“Mail”
(or
(mode . wl-folder-mode)
(mode . wl-summary-mode)
(mode . wl-draft-mode)
(mode . mew-summary-mode)
(mode . mew-draft-mode)
))
(“R” (or
(mode . ess-mode)
(filename . “EssMode”)))
(“LaTeX”
(or
(mode . latex-mode)
(filename . “LaTeXMode”)))
(“Text” (name . “.txt”))
(“Programming”
(or
(mode . c-mode)
(mode . perl-mode)
(mode . python-mode)
(mode . emacs-lisp-mode)
;; etc
))
(“Web Dev” (or (mode . html-mode)
(mode . css-mode)))
(“Dired” (mode . dired-mode))
(“Egg” (name . “\*Egg”))
(“Help” (or (name . “\*Help\*”)
(name . “\*Apropos\*”)
(name . “\*info\*”))))))

その他の有益なオプション

空のフィルターグループを隠す

(setq ibuffer-show-empty-filter-groups nil)

自動でバッファリストをアップデートする

これは,フックの中に入れています.

(ibuffer-auto-mode 1)

フック

(add-hook ‘ibuffer-mode-hook
‘(lambda ()
(ibuffer-auto-mode 1)
(ibuffer-switch-to-saved-filter-groups “home”)))