summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2024-06-21 21:43:17 -0700
committerChristian Cunningham <cc@localhost>2024-06-21 21:43:17 -0700
commitbe8ab37800c76110fd80fdf49c730c74cc528ad7 (patch)
tree58ff9b04c18fd9a9b46f3c9d562e01bd1eca6640
parentdac34633709fb6fc8b9e5d5482f0124ffa4ddfd6 (diff)
Add Meow Modal Editing
-rw-r--r--elchemy-package-meow.el99
-rw-r--r--elchemy-packages.el2
2 files changed, 101 insertions, 0 deletions
diff --git a/elchemy-package-meow.el b/elchemy-package-meow.el
new file mode 100644
index 0000000..1c658e9
--- /dev/null
+++ b/elchemy-package-meow.el
@@ -0,0 +1,99 @@
+(use-package meow
+ :ensure t
+ :config
+ (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)))
+ (setq meow-expand-hint-counts
+ '((word . 0)
+ (line . 0)
+ (block . 0)
+ (find . 0)
+ (till . 0)))
+ (require 'meow)
+ (meow-setup)
+ (meow-global-mode 1))
+
+(provide 'elchemy-package-meow)
diff --git a/elchemy-packages.el b/elchemy-packages.el
index c07a74a..0ff67bb 100644
--- a/elchemy-packages.el
+++ b/elchemy-packages.el
@@ -4,6 +4,8 @@
(require 'elchemy-package-org)
;; Base16 Colors
(require 'elchemy-package-base16-theme)
+;; Meow Keybindings
+(require 'elchemy-package-meow)
;; Remove Minor Modes from Modeline
(require 'elchemy-package-diminish)
;; Flyspell Autocorrect