From 7869360008d87ca4b459c703f4894625dd8181cc Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sun, 26 Jan 2014 01:59:44 -0500 Subject: Follow Purcell's emacs.d structure User init files are added using provide/require. https://github.com/purcell/emacs.d --- lisp/init-ibuffer.el | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 lisp/init-ibuffer.el (limited to 'lisp/init-ibuffer.el') diff --git a/lisp/init-ibuffer.el b/lisp/init-ibuffer.el new file mode 100644 index 0000000..9131279 --- /dev/null +++ b/lisp/init-ibuffer.el @@ -0,0 +1,69 @@ +;; Replace buffer-menu with ibuffer. +(global-set-key (kbd "C-x C-b") 'ibuffer) + +;; Modified from http://martinowen.net/blog/2010/02/tips-for-emacs-ibuffer.html +;; and here http://www.elliotglaysher.org/emacs/. + +(setq ibuffer-saved-filter-groups + '(("home" + ("elisp" (mode . emacs-lisp-mode)) + ("org" (or (mode . org-mode) + (name . "^\\*Org Agenda\\*$") + (name . "^\\*Calendar\\*$"))) + ("web" (or (mode . html-mode) + (mode . nxml-mode) + (mode . css-mode) + (mode . less-css-mode))) + ("r" (or (mode . ess-mode) + (mode . inferior-ess-mode) + (name . "^\\*ESS\\*$"))) + ("markup" (or (mode . markdown-mode) + (mode . rst-mode))) + ("lua" (mode . lua-mode)) + ("perl" (mode . perl-mode)) + ("python" (or (mode . python-mode) + (name . "^\\*Python"))) + ("haskell" (mode . haskell-mode)) + ("text" (mode . text-mode)) + ("shell" (mode . sh-mode)) + ("latex" (or (mode . latex-mode) + (mode . LaTeX-mode) + (mode . bibtex-mode) + (mode . reftex-mode))) + ("dir" (or (mode . dired-mode) + (name . "^\\*tramp"))) + ("terminal" (or (mode . term-mode) + (name . "^\\*Shell Command Output*") + (name . "^\\*External terminal*"))) + ("packages" (or (name . "^\\*Compile-Log\\*") + (name . "^\\*Packages\\*"))) + ("magit" (name . "^\\*magit")) + ("emacs" (or (name . "^\\*scratch\\*$") + (name . "^\\*Messages\\*$"))) + ("mail" (or (mode . message-mode) + (mode . mail-mode) + (mode . gnus-group-mode) + (mode . gnus-summary-mode) + (mode . gnus-article-mode) + (mode . notmuch-search-mode) + (mode . notmuch-show-mode) + (name . "^\\*Mail sync\\*$") + (name . "^\\*Gnus sync\\*$") + (name . "^\\.newsrc-dribble"))) + ("help" (or (name . "^\\*Help\\*$") + (name . "^\\*Apropos\\*$") + (name . "^\\*info\\*$") + (name . "^\\*Completions\\*")))))) + +(add-hook 'ibuffer-mode-hook + '(lambda () + (ibuffer-auto-mode 1) ; Keep buffer list up-to-date. + (ibuffer-switch-to-saved-filter-groups "home"))) + +;; Don't prompt to delete unmodified buffers. +(setq ibuffer-expert t) + +;; Don't show empty filter groups. +(setq ibuffer-show-empty-filter-groups nil) + +(provide 'init-ibuffer) -- cgit v1.2.3