summary refs log tree commit diff
path: root/config.org
diff options
context:
space:
mode:
authornoa@gaiwan.org2024-07-28 08:12:20 +0000
committernoa@gaiwan.org2024-07-28 08:12:20 +0000
commit99022b6744023392b99ac19df33bb62d3b7f7fb6 (patch)
treeb944cea91b34dc36272ebe9e1d6d8171c29e7e0e /config.org
parent11e1231948b5304cb2560c811c7110228e91b00d (diff)
Modern keybindings
Diffstat (limited to 'config.org')
-rw-r--r--config.org23
1 files changed, 23 insertions, 0 deletions
diff --git a/config.org b/config.org
index 8965282..62984f7 100644
--- a/config.org
+++ b/config.org
@@ -112,6 +112,29 @@ I had a very brief excursion into using ~package-vc-install~ to manage packages
       (package-install pkg)))
 #+end_src
 
+* Modern keybindings
+A lot of people say that you get used to emacs keybindings over time, and this is true.  But i find it hard to maintain two sets of keybindings in my head: those for emacs, and those for everything else.  So i think that it's best to make emacs use the same bindings as everything else.  For now, we do that with wakib mode.
+
+#+begin_src elisp
+  (require 'wakib-keys)
+  (setopt wakib-keys t)
+#+end_src
+
+#+begin_src elisp
+  (with-eval-after-load 'wakib-keys
+    (add-hook 'after-change-major-mode-hook 'wakib-update-major-mode-map)
+    (add-hook 'menu-bar-update-hook 'wakib-update-minor-mode-maps)
+    ;; Modifying other modules
+    ;; When remap is used it exits isearch abruptly after first instance
+    ;; Use explicit keybindings instead
+    (define-key isearch-mode-map (kbd "C-f") 'isearch-repeat-forward)
+    (define-key isearch-mode-map (kbd "C-S-f") 'isearch-repeat-backward)
+    (define-key isearch-mode-map (kbd "M-;") 'isearch-repeat-forward)
+    (define-key isearch-mode-map (kbd "M-:") 'isearch-repeat-backward)
+    (define-key isearch-mode-map (kbd "C-v") 'isearch-yank-kill)
+    (define-key isearch-mode-map (kbd "M-d") 'isearch-delete-char))
+#+end_src
+
 * Executing commands
 I make my caps lock a menu key, so i can open the command palette with it: