First commit.
This commit is contained in:
55
lisp/ux/buffers.el
Normal file
55
lisp/ux/buffers.el
Normal file
@@ -0,0 +1,55 @@
|
||||
;;; buffers.el --- Configure Emacs buffers -*- lexical-binding: t; -*-
|
||||
;;; Commentary:
|
||||
;;; Code:
|
||||
|
||||
(defun user/kill-matching-buffers (regexp &optional exclude-p)
|
||||
"Kill buffers whose name match the specified REGEXP but not EXCLUDE-P."
|
||||
(interactive "sKill buffers matching this regular expression: \nP")
|
||||
(dolist (buffer (buffer-list))
|
||||
(let ((name (buffer-name buffer)))
|
||||
(when (and name (not (string-equal name ""))
|
||||
(/= (aref name 0) ?\s)
|
||||
(string-match regexp name))
|
||||
(unless (and exclude-p (funcall exclude-p buffer))
|
||||
(kill-buffer buffer))))))
|
||||
|
||||
|
||||
(defun user/kill-all-buffers ()
|
||||
"Close all open buffers."
|
||||
(interactive)
|
||||
(mapc 'kill-buffer (buffer-list))
|
||||
(switch-to-buffer "*scratch*"))
|
||||
|
||||
|
||||
(defun user/kill-other-buffers ()
|
||||
"Close all open buffers except current one."
|
||||
(interactive)
|
||||
(mapc 'kill-buffer (delq (current-buffer) (buffer-list))))
|
||||
|
||||
|
||||
(defun user--buffers-config ()
|
||||
"Initialize Emacs buffers.
|
||||
;; The library uniquify overrides Emacs’ default mechanism for making buffer names unique"
|
||||
(use-package uniquify
|
||||
:ensure nil
|
||||
:config
|
||||
(validate-setq
|
||||
;; Set up uniquify's style.
|
||||
uniquify-buffer-name-style 'reverse
|
||||
uniquify-separator " • "
|
||||
uniquify-after-kill-buffer-p t
|
||||
uniquify-ignore-buffers-re "^\\*"))
|
||||
|
||||
;;; (Bindings) ;;;
|
||||
(user/bind-key-global :basic :open-file 'find-file)
|
||||
(user/bind-key-global :basic :open-buffer 'switch-to-buffer)
|
||||
(user/bind-key-global :basic :save 'save-buffer)
|
||||
(user/bind-key-global :basic :save-as 'write-file)
|
||||
(user/bind-key-global :basic :close 'kill-buffer)
|
||||
(user/bind-key-global :basic :quit 'save-buffers-kill-terminal))
|
||||
|
||||
(user--buffers-config)
|
||||
|
||||
|
||||
(provide 'ux/buffers)
|
||||
;;; buffers.el ends here
|
Reference in New Issue
Block a user