diff --git a/init.el b/init.el index f520e02..ef50dc7 100644 --- a/init.el +++ b/init.el @@ -568,7 +568,8 @@ attempt-orderly-shutdown-on-fatal-signal nil find-function-C-source-directory (acdw/find-emacs-source)) - (:global "M-=" count-words) + (:global "M-=" count-words + "C-w" acdw/kill-region-or-backward-word) ;; Remap C-h to DEL -- can be the "help" key (define-key key-translation-map [?\C-h] [?\C-?]) diff --git a/lisp/acdw.el b/lisp/acdw.el index f297691..a798069 100644 --- a/lisp/acdw.el +++ b/lisp/acdw.el @@ -29,6 +29,8 @@ ;;; Utility functions +;; I don't prefix these because ... reasons. Honestly I probably should prefix +;; them. (defun dos2unix (buffer) "Replace \r\n with \n in BUFFER." @@ -58,6 +60,13 @@ each hook in HOOKS." ,@(dolist (hook hook-list hook-defun-add-hook-list) (push `(add-hook ',hook #',func-name) hook-defun-add-hook-list))))) +(defun kill-region-or-backward-word (arg) + "Kill region if active, or backward word if not." + (interactive "p") + (if (region-active-p) + (kill-region (region-beginning) (region-end)) + (backward-kill-word arg))) + (defmacro when-unfocused (name &rest forms) "Define a function NAME, executing FORMS, that fires when Emacs is unfocused."