diff options
Diffstat (limited to '.config/emacs/modules/bd--essentials.el')
-rw-r--r-- | .config/emacs/modules/bd--essentials.el | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/.config/emacs/modules/bd--essentials.el b/.config/emacs/modules/bd--essentials.el new file mode 100644 index 0000000..cc51202 --- /dev/null +++ b/.config/emacs/modules/bd--essentials.el @@ -0,0 +1,62 @@ +;; -*- lexical-binding: t; -*- + + +;;;; standard bindings +;; both of these are bad--especially in exwm +(global-unset-key (kbd "C-z")) +(global-unset-key (kbd "C-x C-z")) + +(global-set-key (kbd "C-z =") 'text-scale-increase) +(global-set-key (kbd "C-z -") 'text-scale-decrease) + + +;;;; UI +(setopt inhibit-startup-message t) + +;; line numbers +(require 'display-line-numbers) +(global-display-line-numbers-mode) +(global-visual-line-mode t) +(setopt display-line-numbers-type 'relative) +(global-hl-line-mode 1) + +(defcustom display-line-numbers-exempt-modes + '(vterm-mode eshell-mode shell-mode term-mode ansi-term-mode image-mode doc-view-mode newsticker-treeview-mode newsticker-treeview-item-mode dired-mode org-agenda-mode) + "Major modes on which to disable line numbers." + :group 'display-line-numbers + :type 'list + :version "green") + +(defun display-line-numbers--turn-on () + "Turn on line numbers except for certain major modes. +Exempt major modes are defined in `display-line-numbers-exempt-modes'." + (unless (or (minibufferp) + (member major-mode display-line-numbers-exempt-modes)) + (display-line-numbers-mode))) + + +;;;; defaults +;; basic editing +(setopt kill-whole-line t) + +(defun bd/cleanup-buffer () + (interactive) + (delete-trailing-whitespace) + (untabify (point-min) (point-max)) + (indent-region (point-min) (point-max))) + +(setopt next-line-add-newlines t) +(add-hook 'before-save-hook 'bd/cleanup-buffer) + + +;;;; buffers +(global-auto-revert-mode 1) +(winner-mode 1) +;; do not show async command buffers by default +(add-to-list 'display-buffer-alist + (cons "\\*Async Shell Command\\*.*" (cons #'display-buffer-no-window nil))) +(setopt scroll-up-aggressively '0.65 + scroll-down-aggressively '0.65) + + +(provide 'bd--essentials) |