Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;; A rather handy (if I do say so myself) tweak for ibuffer.
- ;; I should really just send this upstream.
- (defun buffer-dirname (b)
- (with-current-buffer b
- ;; expand-file-name would also make sense.
- (abbreviate-file-name default-directory)))
- (define-ibuffer-column default-dir ()
- (buffer-dirname buffer))
- (setq ibuffer-formats
- '((mark modified read-only " "
- (name 36 36 :left :elide)
- " "
- (size 9 -1 :right)
- " "
- (mode 16 16 :left :elide)
- " " default-dir)
- (mark " "
- (name 16 -1)
- " " filename)))
- (eval-after-load 'ibuffer
- '(require 'ibuf-ext))
- (eval-after-load 'ibuffer
- '(defun ibuffer-mark-by-dir-name-regexp (regexp)
- "Mark all buffers whose directory name matches REGEXP."
- (interactive "sMark by directory name (regexp): ")
- (ibuffer-mark-on-buffer
- #'(lambda (buf)
- (let ((name (with-current-buffer buf default-directory)))
- (when name
- (string-match regexp name)))))))
- (eval-after-load 'ibuffer
- '(define-key
- ibuffer-mode-map
- (kbd "% d") 'ibuffer-mark-by-dir-name-regexp))
- (define-ibuffer-sorter directory-name
- "Sort the buffers by their directory name.
- Ordering is lexicographic."
- (:description "directory name")
- (string-lessp (buffer-dirname (car a))
- (buffer-dirname (car b))))
- (define-key ibuffer-mode-map (kbd "s d") 'ibuffer-do-sort-by-directory-name)
Add Comment
Please, Sign In to add comment