57 lines
1.6 KiB
EmacsLisp
57 lines
1.6 KiB
EmacsLisp
|
;;; init-ibuffer.el --- ibuffer settings -*- lexical-binding: t -*-
|
||
|
;;; Commentary:
|
||
|
|
||
|
;; TODO: enhance ibuffer-fontification-alist
|
||
|
;; See http://www.reddit.com/r/emacs/comments/21fjpn/fontifying_buffer_list_for_emacs_243/
|
||
|
|
||
|
;;; Code:
|
||
|
|
||
|
(require-package 'ibuffer-vc)
|
||
|
|
||
|
(defun ibuffer-set-up-preferred-filters ()
|
||
|
(ibuffer-vc-set-filter-groups-by-vc-root)
|
||
|
(unless (eq ibuffer-sorting-mode 'filename/process)
|
||
|
(ibuffer-do-sort-by-filename/process)))
|
||
|
|
||
|
(add-hook 'ibuffer-hook 'ibuffer-set-up-preferred-filters)
|
||
|
|
||
|
(setq-default ibuffer-show-empty-filter-groups nil)
|
||
|
|
||
|
;; fullframe-mode 'ibuffer-mode)
|
||
|
|
||
|
|
||
|
(with-eval-after-load 'ibuffer
|
||
|
;; Use human readable Size column instead of original one
|
||
|
(define-ibuffer-column size-h
|
||
|
(:name "Size" :inline t)
|
||
|
(file-size-human-readable (buffer-size))))
|
||
|
|
||
|
|
||
|
;; Modify the default ibuffer-formats (toggle with `)
|
||
|
(setq ibuffer-formats
|
||
|
'((mark modified read-only vc-status-mini " "
|
||
|
(name 22 22 :left :elide)
|
||
|
" "
|
||
|
(size-h 9 -1 :right)
|
||
|
" "
|
||
|
(mode 12 12 :left :elide)
|
||
|
" "
|
||
|
vc-relative-file)
|
||
|
(mark modified read-only vc-status-mini " "
|
||
|
(name 22 22 :left :elide)
|
||
|
" "
|
||
|
(size-h 9 -1 :right)
|
||
|
" "
|
||
|
(mode 14 14 :left :elide)
|
||
|
" "
|
||
|
(vc-status 12 12 :left)
|
||
|
" "
|
||
|
vc-relative-file)))
|
||
|
|
||
|
(setq ibuffer-filter-group-name-face 'font-lock-doc-face)
|
||
|
|
||
|
(global-set-key (kbd "C-x C-b") 'ibuffer)
|
||
|
|
||
|
(provide 'init-ibuffer)
|
||
|
;;; init-ibuffer.el ends here
|