;; -*- lexical-binding: t; -*- ;;;; standard bindings (keymap-global-unset "C-z") (keymap-global-unset "C-x C-z") ;; the binding to quit emacs (keymap-global-unset "C-x C-c") (global-set-key (kbd "C-z =") 'text-scale-increase) (global-set-key (kbd "C-z -") 'text-scale-decrease) ;;;; UI (setopt inhibit-startup-message t) ;;;; defaults ;; basic editing (setopt kill-whole-line t sentence-end-double-space nil) (setq-default tab-width 4) (global-hl-line-mode 1) (global-visual-line-mode t) (defun bd/cleanup-exempt-modes () "Modes which should NOT be autoformatted on save." (unless (or (derived-mode-p 'text-mode) (equal major-mode 'makefile-gmake-mode)) (bd/cleanup-buffer))) (defun bd/cleanup-buffer () (interactive) (delete-trailing-whitespace) ;; (tabify (point-min) (point-max)) (indent-region (point-min) (point-max))) (setopt next-line-add-newlines t) (add-hook 'before-save-hook 'bd/cleanup-exempt-modes) ;;;; buffers (global-auto-revert-mode 1) (setopt global-auto-revert-non-file-buffers t auto-revert-interval 30) (winner-mode 1) (setopt scroll-up-aggressively '0.65 scroll-down-aggressively '0.65) (provide 'bd--essentials)