;;; ibuffer-settings.el --- Settings for ibuffer. ;;; ;;; Commentary: ;;; ;;; Use C-x C-b to launch ibuffer. (setq ibuffer-saved-filter-groups '(("default" ("Emacs Configuration" (or (filename . ".emacs.d") (filename . "init.el") (filename . "package.el") (filename . "private.el") (filename . "emacs.d"))) ("Org" (or (mode . org-mode) (filename . "OrgMode"))) ("Magit" (name . "magit")) ("Help" (or (name . "\*Help\*") (name . "\*Apropos\*") (name . "\*info\*"))) ("Dired" (mode . dired-mode)) ;; Dev has groups for all languages you program in ("Dev" (or (filename . ".c") (filename . ".cpp") (filename . ".hpp") (filename . ".h") (filename . ".java") (filename . ".py") (filename . ".lisp") (filename . ".properties") (filename . ".gradle") (filename . ".am") (mode . yaml-mode)) ) ("Text" (or (filename . ".csv") (filename . ".tsv") (filename . ".txt") (filename . ".log") (filename . ".json"))) ("Emacs" (or (name . "^\\*scratch\\*$") (name . "^\\*Messages\\*$"))) ("Gnus" (or (mode . message-mode) (mode . bbdb-mode) (mode . mail-mode) (mode . gnus-group-mode) (mode . gnus-summary-mode) (mode . gnus-article-mode) (name . "^\\.bbdb$") (name . "^\\.newsrc-dribble"))) ))) ;; Automatically keep buffers up to date and load the filter (add-hook 'ibuffer-mode-hook '(lambda () (ibuffer-auto-mode 1) (ibuffer-switch-to-saved-filter-groups "default"))) ;; Disable eager line numbering (add-hook 'ibuffer-mode-hook 'nolinum) (setq ibuffer-expert t) (setq ibuffer-show-empty-filter-groups nil)