summaryrefslogtreecommitdiffstats
path: root/lisp/init-ibuffer.el
blob: db7661ec39377b87a3b5dbdaa6d7bb9bf37cd0c6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
;; install package
(require-package 'ibuffer-vc)

;; load ibuffer and ibuffer-vc
(require 'ibuffer)
(require 'ibuffer-vc)

;; keep buffer list up to date and group ibuffer by repository root
(add-hook 'ibuffer-hook
          (lambda ()
            (ibuffer-auto-mode 1)
            (ibuffer-vc-set-filter-groups-by-vc-root)
            ;; make C-o and o behave as in dired
            (define-key ibuffer-mode-map (kbd "o")
              'ibuffer-visit-buffer-other-window)
            (define-key ibuffer-mode-map (kbd "C-o")
              'ibuffer-visit-buffer-other-window-noselect)))

;; use ibuffer
(global-set-key (kbd "C-x C-b") 'ibuffer-other-window)

;; disable confirmation for killing unmodified buffers
(setq ibuffer-expert t)

;; sort buffers by name
(setq-default ibuffer-default-sorting-mode 'alphabetic)

(provide 'init-ibuffer)