summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortdback <tyler@tdback.net>2025-02-20 20:21:26 -0500
committertdback <tyler@tdback.net>2025-02-20 20:21:26 -0500
commitce5ab54299e0f4456e15d024ff0ba50b0b9036d3 (patch)
treedece61ef9bc2675c672fcecbf3016335d00b8392
parent64357bc39ead381afee2706bd94e24c859f32417 (diff)
lisp/td-meow: add colemak bindings to meowHEADmain
-rw-r--r--lisp/td-meow.el93
1 files changed, 88 insertions, 5 deletions
diff --git a/lisp/td-meow.el b/lisp/td-meow.el
index ca0c32e..9cc8904 100644
--- a/lisp/td-meow.el
+++ b/lisp/td-meow.el
@@ -4,7 +4,88 @@
;;; Functions
-(defun meow-setup ()
+(defun meow-setup-colemak ()
+ (setq meow-cheatsheet-layout meow-cheatsheet-layout-colemak-dh)
+ (meow-motion-overwrite-define-key
+ ;; Use e to move up, n to move down.
+ ;; Since special modes usually use n to move down, we only overwrite e here.
+ '("e" . meow-prev)
+ '("<escape>" . ignore))
+ (meow-leader-define-key
+ '("?" . meow-cheatsheet)
+ ;; To execute the originally e in MOTION state, use SPC e.
+ '("e" . "H-e")
+ '("1" . meow-digit-argument)
+ '("2" . meow-digit-argument)
+ '("3" . meow-digit-argument)
+ '("4" . meow-digit-argument)
+ '("5" . meow-digit-argument)
+ '("6" . meow-digit-argument)
+ '("7" . meow-digit-argument)
+ '("8" . meow-digit-argument)
+ '("9" . meow-digit-argument)
+ '("0" . meow-digit-argument))
+ (meow-normal-define-key
+ '("0" . meow-expand-0)
+ '("1" . meow-expand-1)
+ '("2" . meow-expand-2)
+ '("3" . meow-expand-3)
+ '("4" . meow-expand-4)
+ '("5" . meow-expand-5)
+ '("6" . meow-expand-6)
+ '("7" . meow-expand-7)
+ '("8" . meow-expand-8)
+ '("9" . meow-expand-9)
+ '("-" . negative-argument)
+ '(";" . meow-reverse)
+ '("," . meow-inner-of-thing)
+ '("." . meow-bounds-of-thing)
+ '("[" . meow-beginning-of-thing)
+ '("]" . meow-end-of-thing)
+ '("/" . meow-visit)
+ '("a" . meow-append)
+ '("A" . meow-open-below)
+ '("b" . meow-back-word)
+ '("B" . meow-back-symbol)
+ '("c" . meow-change)
+ '("e" . meow-prev)
+ '("E" . meow-prev-expand)
+ '("f" . meow-find)
+ '("g" . meow-cancel-selection)
+ '("G" . meow-grab)
+ '("m" . meow-left)
+ '("M" . meow-left-expand)
+ '("i" . meow-right)
+ '("I" . meow-right-expand)
+ '("j" . meow-join)
+ '("k" . meow-kill)
+ '("l" . meow-line)
+ '("L" . meow-goto-line)
+ '("h" . meow-mark-word)
+ '("H" . meow-mark-symbol)
+ '("n" . meow-next)
+ '("N" . meow-next-expand)
+ '("o" . meow-block)
+ '("O" . meow-to-block)
+ '("p" . meow-yank)
+ '("q" . meow-quit)
+ '("r" . meow-replace)
+ '("s" . meow-insert)
+ '("S" . meow-open-above)
+ '("t" . meow-till)
+ '("u" . meow-undo)
+ '("U" . meow-undo-in-selection)
+ '("v" . meow-search)
+ '("w" . meow-next-word)
+ '("W" . meow-next-symbol)
+ '("x" . meow-delete)
+ '("X" . meow-backward-delete)
+ '("y" . meow-save)
+ '("z" . meow-pop-selection)
+ '("'" . repeat)
+ '("<escape>" . ignore)))
+
+(defun meow-setup-qwerty ()
(setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty)
(meow-motion-overwrite-define-key
'("j" . meow-next)
@@ -88,9 +169,8 @@
'("Y" . meow-sync-grab)
'("z" . meow-pop-selection)
'("'" . repeat)
- '("<escape>" . ignore))
- ;; Allow `C-g' to exit to NORMAL state, similar to how evil does it.
- (meow-define-keys 'insert '("C-g" . meow-insert-exit)))
+ '("<escape>" . ignore)))
+
;;; Packages
@@ -104,7 +184,10 @@
(find . 30)
(till . 30)))
:config
- (meow-setup)
+ (meow-setup-colemak)
+ ;; Allow `C-g' to exit from INSERT state to NORMAL state, similar to how
+ ;; evil does it.
+ (meow-define-keys 'insert '("C-g" . meow-insert-exit))
(meow-global-mode))
(provide 'td-meow)