diff --git a/.emacs.d/include/misc.el b/.emacs.d/include/misc.el index 2e9c9e1..2d59fcf 100644 --- a/.emacs.d/include/misc.el +++ b/.emacs.d/include/misc.el @@ -5,6 +5,7 @@ ;; short), then it belongs here. ;;; Code: +(require 'meow) (require 'lsp-mode) (require 'eglot) (require 'git-gutter) @@ -57,6 +58,91 @@ (filepath (or filepath (read-file-name "filename: ")))) (url-copy-file url filepath 1))) +;; meow +(defun meow-setup () + "Set up meow." + (setq meow-cheatsheet-layout meow-cheatsheet-layout-dvp) + (meow-leader-define-key + '("?" . meow-cheatsheet)) + (meow-motion-overwrite-define-key + ;; custom keybinding for motion state + '("" . ignore)) + (meow-normal-define-key + '("?" . meow-cheatsheet) + '("*" . meow-expand-0) + '("=" . meow-expand-9) + '("!" . meow-expand-8) + '("[" . meow-expand-7) + '("]" . meow-expand-6) + '("{" . meow-expand-5) + '("+" . meow-expand-4) + '("}" . meow-expand-3) + '(")" . meow-expand-2) + '("(" . meow-expand-1) + '("1" . digit-argument) + '("2" . digit-argument) + '("3" . digit-argument) + '("4" . digit-argument) + '("5" . digit-argument) + '("6" . digit-argument) + '("7" . digit-argument) + '("8" . digit-argument) + '("9" . digit-argument) + '("0" . digit-argument) + '("-" . 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-line) + '("E" . meow-goto-line) + '("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-join) + '("k" . meow-kill) + '("l" . meow-till) + '("m" . meow-mark-word) + '("M" . meow-mark-symbol) + '("n" . meow-next) + '("N" . meow-next-expand) + '("o" . meow-block) + '("O" . meow-to-block) + '("p" . meow-prev) + '("P" . meow-prev-expand) + '("q" . meow-quit) + '("r" . meow-replace) + '("R" . meow-swap-grab) + '("s" . meow-search) + '("t" . meow-right) + '("T" . meow-right-expand) + '("u" . meow-undo) + '("U" . meow-undo-in-selection) + '("v" . meow-visit) + '("w" . meow-next-word) + '("W" . meow-next-symbol) + '("x" . meow-save) + '("X" . meow-sync-grab) + '("y" . meow-yank) + '("z" . meow-pop-selection) + '("'" . repeat) + '("" . ignore) + '("TAB" . meow-indent))) + +(meow-setup) + ;; LSP (setq lsp-inlay-hint-enable t) (setq lsp-ui-doc-include-signature t) diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 90aeb68..769c7ce 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -25,6 +25,7 @@ (straight-use-package 'consult) ;; Syntax checking and editing +(straight-use-package 'meow) (straight-use-package 'flycheck) (straight-use-package 'paredit)