diff options
author | tdback <tyler@tdback.net> | 2025-02-10 22:15:01 -0500 |
---|---|---|
committer | tdback <tyler@tdback.net> | 2025-02-10 22:15:01 -0500 |
commit | ff732109b88e451f8902f0a370cff184b75f481f (patch) | |
tree | 4fc645f5e91c1771b640222e87bfee16af75e7ee | |
parent | 7cf5688f1d69ea0802d570adbfbce5e1d8ef556c (diff) |
lisp: add meow config
-rw-r--r-- | init.el | 2 | ||||
-rw-r--r-- | lisp/td-meow.el | 105 |
2 files changed, 106 insertions, 1 deletions
@@ -27,8 +27,8 @@ (require 'td-common) (require 'td-dired) -(require 'td-evil) (require 'td-functions) +(require 'td-meow) (require 'td-mu4e) (require 'td-org) (require 'td-present) diff --git a/lisp/td-meow.el b/lisp/td-meow.el new file mode 100644 index 0000000..bf6beec --- /dev/null +++ b/lisp/td-meow.el @@ -0,0 +1,105 @@ +;;; td-meow.el --- making emacs purr -*- lexical-binding: t; -*- + +(defun meow-setup () + (setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty) + (meow-motion-overwrite-define-key + '("j" . meow-next) + '("k" . meow-prev) + '("<escape>" . ignore)) + (meow-leader-define-key + ;; `SPC j/k' will run the original command in MOTION state. + '("j" . "H-j") + '("k" . "H-k") + ;; Use `SPC (0-9)' for digit arguments. + '("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-keypad-describe-key) + '("?" . meow-cheatsheet)) + (meow-normal-define-key + '("0" . meow-expand-0) + '("9" . meow-expand-9) + '("8" . meow-expand-8) + '("7" . meow-expand-7) + '("6" . meow-expand-6) + '("5" . meow-expand-5) + '("4" . meow-expand-4) + '("3" . meow-expand-3) + '("2" . meow-expand-2) + '("1" . meow-expand-1) + '("-" . negative-argument) + '(";" . meow-reverse) + '("," . meow-inner-of-thing) + '("." . meow-bounds-of-thing) + '("[" . meow-beginning-of-thing) + '("]" . meow-end-of-thing) + '("a" . meow-append) + '("A" . meow-open-below) + '("b" . meow-back-word) + '("B" . meow-back-symbol) + '("c" . meow-change) + '("d" . meow-delete) + '("D" . meow-backward-delete) + '("e" . meow-next-word) + '("E" . meow-next-symbol) + '("f" . meow-find) + '("g" . meow-cancel-selection) + '("G" . meow-grab) + '("h" . meow-left) + '("H" . meow-left-expand) + '("i" . meow-insert) + '("I" . meow-open-above) + '("j" . meow-next) + '("J" . meow-next-expand) + '("k" . meow-prev) + '("K" . meow-prev-expand) + '("l" . meow-right) + '("L" . meow-right-expand) + '("m" . meow-join) + '("n" . meow-search) + '("o" . meow-block) + '("O" . meow-to-block) + '("p" . meow-yank) + '("q" . meow-quit) + '("Q" . meow-goto-line) + '("r" . meow-replace) + '("R" . meow-swap-grab) + '("s" . meow-kill) + '("t" . meow-till) + '("u" . meow-undo) + '("U" . meow-undo-in-selection) + '("v" . meow-visit) + '("w" . meow-mark-word) + '("W" . meow-mark-symbol) + '("x" . meow-line) + '("X" . meow-goto-line) + '("y" . meow-save) + '("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))) + +(use-package meow + :ensure t + :custom + (meow-display-thing-help t) + (meow-expand-hint-counts '((word . 30) + (line . 30) + (block . 30) + (find . 30) + (till . 30))) + :config + (meow-setup) + (meow-global-mode)) + +(provide 'td-meow) +;;; td-meow.el ends here |