First commit.

This commit is contained in:
2022-01-09 21:19:46 +01:00
commit df36844dcc
107 changed files with 6565 additions and 0 deletions

55
lisp/ux/buffers.el Normal file
View 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