diff --git a/custom.el b/custom.el index 3918742..f83f8c3 100644 --- a/custom.el +++ b/custom.el @@ -9,7 +9,7 @@ '(elpy-eldoc-show-current-function nil) '(package-selected-packages (quote - (ag string-inflection tiny powershell diffview ivy-hydra window-numbering php-mode swiper mode-line-bell htmlize cython-mode blacken dired-narrow lua-mode browse-kill-ring clipmon free-keys org-link-minor-mode js2-mode js2-refactor xref-js2 python-django visual-regexp-steroids pcre2el vimrc-mode iedit transient magit dracula-theme flycheck elpy ein better-defaults ssh-config-mode yaml-mode apache-mode web-mode undo-tree))) + (ibuffer-vc ag string-inflection tiny powershell diffview ivy-hydra window-numbering php-mode swiper mode-line-bell htmlize cython-mode blacken dired-narrow lua-mode browse-kill-ring clipmon free-keys org-link-minor-mode js2-mode js2-refactor xref-js2 python-django visual-regexp-steroids pcre2el vimrc-mode iedit transient magit dracula-theme flycheck elpy ein better-defaults ssh-config-mode yaml-mode apache-mode web-mode undo-tree))) '(reb-re-syntax (quote string))) (custom-set-faces ;; custom-set-faces was added by Custom. diff --git a/settings.org b/settings.org index 35a2240..f7c5157 100644 --- a/settings.org +++ b/settings.org @@ -1,5 +1,33 @@ * Global ** Add features/modes +*** ibuffer-mode +#+BEGIN_SRC emacs-lisp +(require 'ibuffer-vc) +(add-hook 'ibuffer-mode-hook (lambda () + (ibuffer-vc-set-filter-groups-by-vc-root))) + +(global-set-key (kbd "C-x C-b") 'ibuffer) +;; 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))))) + +;; Modify the default ibuffer-formats +(setq ibuffer-formats + '((mark modified read-only " " + (name 18 18 :left :elide) + " " + (size-h 9 -1 :right) + " " + (mode 16 16 :left :elide) + " " + filename-and-process))) +#+END_SRC *** string-inflection #+BEGIN_SRC emacs-lisp (require 'string-inflection)