about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorCase Duckworth2021-05-04 17:27:36 -0500
committerCase Duckworth2021-05-04 17:27:36 -0500
commit9e0e42554e0c2619fcb4ce8a8b48da4288c44298 (patch)
treed7a8a57a68038bc2d428fa0f13e644d93f861f11
parentRemap C-h to DEL (diff)
downloademacs-9e0e42554e0c2619fcb4ce8a8b48da4288c44298.tar.gz
emacs-9e0e42554e0c2619fcb4ce8a8b48da4288c44298.zip
Remap C-w to backward-kill-word if the region isn't active
-rw-r--r--init.el3
-rw-r--r--lisp/acdw.el9
2 files changed, 11 insertions, 1 deletions
diff --git a/init.el b/init.el index f520e02..ef50dc7 100644 --- a/init.el +++ b/init.el
@@ -568,7 +568,8 @@
568 attempt-orderly-shutdown-on-fatal-signal nil 568 attempt-orderly-shutdown-on-fatal-signal nil
569 find-function-C-source-directory (acdw/find-emacs-source)) 569 find-function-C-source-directory (acdw/find-emacs-source))
570 570
571 (:global "M-=" count-words) 571 (:global "M-=" count-words
572 "C-w" acdw/kill-region-or-backward-word)
572 573
573 ;; Remap C-h to DEL -- <f1> can be the "help" key 574 ;; Remap C-h to DEL -- <f1> can be the "help" key
574 (define-key key-translation-map [?\C-h] [?\C-?]) 575 (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 @@
29 29
30 30
31;;; Utility functions 31;;; Utility functions
32;; I don't prefix these because ... reasons. Honestly I probably should prefix
33;; them.
32 34
33(defun dos2unix (buffer) 35(defun dos2unix (buffer)
34 "Replace \r\n with \n in BUFFER." 36 "Replace \r\n with \n in BUFFER."
@@ -58,6 +60,13 @@ each hook in HOOKS."
58 ,@(dolist (hook hook-list hook-defun-add-hook-list) 60 ,@(dolist (hook hook-list hook-defun-add-hook-list)
59 (push `(add-hook ',hook #',func-name) hook-defun-add-hook-list))))) 61 (push `(add-hook ',hook #',func-name) hook-defun-add-hook-list)))))
60 62
63(defun kill-region-or-backward-word (arg)
64 "Kill region if active, or backward word if not."
65 (interactive "p")
66 (if (region-active-p)
67 (kill-region (region-beginning) (region-end))
68 (backward-kill-word arg)))
69
61(defmacro when-unfocused (name &rest forms) 70(defmacro when-unfocused (name &rest forms)
62 "Define a function NAME, executing FORMS, that fires when Emacs 71 "Define a function NAME, executing FORMS, that fires when Emacs
63is unfocused." 72is unfocused."