From 679463c61523f4eed0ab40468e9504166863e4ac Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sun, 12 Apr 2020 14:38:15 -0400 Subject: Move dired, eshell, ibuffer, ido, and ivy to separate files in lisp/ --- lisp/bandali-ibuffer.el | 77 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 lisp/bandali-ibuffer.el (limited to 'lisp/bandali-ibuffer.el') diff --git a/lisp/bandali-ibuffer.el b/lisp/bandali-ibuffer.el new file mode 100644 index 0000000..9b1b9b3 --- /dev/null +++ b/lisp/bandali-ibuffer.el @@ -0,0 +1,77 @@ +(use-package ibuffer + :bind + (("C-x C-b" . ibuffer) + :map ibuffer-mode-map + ("P" . ibuffer-backward-filter-group) + ("N" . ibuffer-forward-filter-group) + ("M-p" . ibuffer-do-print) + ("M-n" . ibuffer-do-shell-command-pipe-replace)) + :config + ;; Use human readable Size column instead of original one + (define-ibuffer-column size-h + (:name "Size" :inline t) + (cond + ((> (buffer-size) 1000000) (format "%7.1fM" (/ (buffer-size) 1000000.0))) + ((> (buffer-size) 100000) (format "%7.0fk" (/ (buffer-size) 1000.0))) + ((> (buffer-size) 1000) (format "%7.1fk" (/ (buffer-size) 1000.0))) + (t (format "%8d" (buffer-size))))) + :custom + (ibuffer-saved-filter-groups + '(("default" + ("dired" (mode . dired-mode)) + ("org" (mode . org-mode)) + ("gnus" + (or + (mode . gnus-group-mode) + (mode . gnus-summary-mode) + (mode . gnus-article-mode) + ;; not really, but... + (mode . message-mode))) + ("web" + (or + ;; (mode . web-mode) + (mode . mhtml-mode) + (mode . css-mode) + (mode . scss-mode) + (mode . js2-mode))) + ("shell" + (or + (mode . eshell-mode) + (mode . shell-mode) + (mode . term-mode))) + ("programming" + (or + (mode . python-mode) + (mode . c-mode) + (mode . c++-mode) + (mode . java-mode) + (mode . emacs-lisp-mode) + (mode . scheme-mode) + (mode . haskell-mode) + (mode . lean-mode) + ;; (mode . go-mode) + (mode . alloy-mode))) + ("tex" + (or + (mode . bibtex-mode) + (mode . latex-mode))) + ("emacs" + (or + (name . "^\\*scratch\\*$") + (name . "^\\*Messages\\*$"))) + ("exwm" (mode . exwm-mode)) + ("erc" (mode . erc-mode))))) + (ibuffer-formats + '((mark modified read-only locked " " + (name 72 72 :left :elide) + " " + (size-h 9 -1 :right) + " " + (mode 16 16 :left :elide) + " " filename-and-process) + (mark " " + (name 16 -1) + " " filename))) + :hook (ibuffer . (lambda () (ibuffer-switch-to-saved-filter-groups "default")))) + +(provide 'bandali-ibuffer) -- cgit v1.2.3-83-g751a