From db1b86cbd752cd26ba39874a38fc8bf5e25703ea Mon Sep 17 00:00:00 2001 From: Joe Frikker Date: Fri, 12 Jun 2026 22:44:14 -0400 Subject: [PATCH] evil --- home.org | 138 ++++++------------------------------------------------- 1 file changed, 13 insertions(+), 125 deletions(-) diff --git a/home.org b/home.org index 187485e..46f2a3c 100644 --- a/home.org +++ b/home.org @@ -1006,11 +1006,11 @@ This configuration affects general text editing, across all modes. First, some p enable = true; extraPackages = epkgs: with epkgs; [ avy - devil edit-indirect embark - god-mode - meow + evil + evil-collection + evil-org string-inflection ]; extraConfig = builtins.readFile ./emacs-editing.el; @@ -1029,130 +1029,18 @@ but I'm worried that having too many repeat maps will also be annoying (I'll hav cancel them more frequently). In the end, I opted for Devil mode. It avoids modifier keys, and has its own devil-mode-only repeat maps that don't interfere when using normal modifier key sequences. -#+BEGIN_SRC elisp :tangle nil - (use-package devil - :disable t - :config - (global-devil-mode) - (setq devil-repeatable-keys - '(("%k /") - ("%k d") - ("%k k") - ("%k m ^") - ("%k m b" "%k m f" "%k m a" "% k m e") - ("%k m @" "%k m h") - ("%k m y") - ("%k p" "%k n" "%k b" "%k f" "%k a" "%k e") - ("%k s") - ("%k m d" "%k m ")))) -#+END_SRC - -#+BEGIN_SRC elisp - (defun meow-setup () - (setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty) - (meow-motion-define-key - '("j" . meow-next) - '("k" . meow-prev) - '("" . ignore)) - (meow-leader-define-key - ;; 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) - ;; '("" . ignore))) - - ;; (require 'meow) - ;; (meow-setup) - ;; (meow-global-mode) -#+END_SRC - #+BEGIN_SRC elisp - (require 'god-mode) - (require 'which-key) + (setopt evil-want-keybinding nil) + (require 'evil) + (evil-mode 1) + (require 'evil-collection) + (evil-collection-init) - (bind-keys :map god-local-mode-map - ("i" . (lambda () (interactive) (god-mode-all -1))) - ("z" . repeat)) - (bind-keys ("" . (lambda () (interactive) (god-mode-all 1)))) - (defun my-god-mode-update-cursor-type () - (setq cursor-type (cond - (org-present-mode nil) - ((or (and (featurep 'god-mode) god-local-mode) buffer-read-only - (and meow-mode (not (eq 'insert meow--current-state)))) 'box) - (t 'bar)))) - - (add-hook 'post-command-hook 'my-god-mode-update-cursor-type) - (which-key-enable-god-mode-support) + (require 'evil-org) + (add-hook 'org-mode-hook 'evil-org-mode) + (evil-org-set-key-theme '(navigation insert textobjects additional calendar)) + (require 'evil-org-agenda) + (evil-org-agenda-set-keys) #+END_SRC Avy allows jumping to any place on the screen with just a few keystrokes. I've stolen most of these