diff options
Diffstat (limited to 'config.org')
| -rw-r--r-- | config.org | 76 |
1 files changed, 70 insertions, 6 deletions
@@ -357,11 +357,6 @@ This makes it so that all subscribed groups are visible, no matter if theres no (setq gnus-permanently-visible-groups ".") #+end_src -When browsing gnus, make the mode in evil standard emacs. -#+begin_src emacs-lisp -(evil-set-initial-state 'gnus-browse-mode 'emacs) -#+end_src - Now we configure our user of gnus. #+begin_src emacs-lisp (setq user-mail-address "hi@roughlynamed.net" ; my email @@ -380,6 +375,11 @@ We can also set up the signature via the ~.signature~ file instead of encoding i (setq message-signature-file "~/.signature") ; note no trailing slash #+end_src +When browsing gnus, make the mode in evil standard emacs. +#+begin_src emacs-lisp +(evil-set-initial-state 'gnus-browse-mode 'emacs) +#+end_src + Now we can set up the actual mail part. I use migadu for my email hosting, provided to me by ~@bas.sh~ Here we set up IMAP for receiving mail. @@ -1570,7 +1570,7 @@ EXWM is the Emacs X Window Manager. (start-process-shell-command c nil c)) (my/run-once "~/.cargo/bin/mprisence"))) - (if (fboundp 'exwm-systemtray-mode) (exwm-systemtray-mode 1) (exwm-systemtray-enable)) + (if (fboundp 'exwm-systemtray-mode) (exwm-systemtray-mode 1) (exwm-systetray-enable)) (if (fboundp 'exwm-wm-mode) (exwm-wm-mode 1) (exwm-enable))) ; 0.34+ vs 0.33 (use-package! exwm-edit @@ -1745,6 +1745,70 @@ Doesnt work in org files #+end_src +* Meow +#+begin_quote +Mrrp Nya Nya Mrrp Mraoow +#+end_quote + +Meow provides an object-then-verb modal editing layer to Emacs, similar to Helix or Kakoune + +This requires ~(meow +colemak)~ enabled in DOOM's init.el +The meow module is not available by default, and must be first git cloned +#+begin_src emacs-lisp +(defun my/meow-insert-bol () ; evil I + (interactive) (meow-cancel-selection) (back-to-indentation) (meow-insert)) +(defun my/meow-append-eol () ; evil A + (interactive) (meow-cancel-selection) (end-of-line) (meow-insert)) +(defun my/meow-change-eol () ; evil C + (interactive) (meow-cancel-selection) (kill-line) (meow-insert)) +(defun my/meow-yank-line () ; evil Y (whole line) + (interactive) + (kill-ring-save (line-beginning-position) (line-beginning-position 2))) + + +(define-key key-translation-map (kbd "q") (kbd "C-")) +(defun my/meow-till-back () (interactive) (let ((current-prefix-arg -1)) (call-interactively #'meow-till))) +(defun my/meow-find-back () (interactive) (let ((current-prefix-arg -1)) (call-interactively #'meow-find))) +(defun my/meow-search-back () (interactive) (let ((current-prefix-arg -1)) (call-interactively #'meow-search))) + +(defvar my/meow-scroll-map (make-sparse-keymap)) +(define-key my/meow-scroll-map "j" (lambda () (interactive) (recenter))) +(define-key my/meow-scroll-map "n" (lambda () (interactive) (recenter 0))) +(define-key my/meow-scroll-map "e" (lambda () (interactive) (recenter -1))) + +(defun my/meow-neio-setup () + (meow-motion-overwrite-define-key + '("e" . meow-next) '("i" . meow-prev)) + (meow-normal-define-key + '("n" . meow-left) '("N" . meow-left-expand) + '("e" . meow-next) '("E" . meow-next-expand) + '("i" . meow-prev) '("I" . meow-prev-expand) + '("o" . meow-right) '("O" . meow-right-expand) + '("l" . meow-back-word) '("L" . meow-back-symbol) + '("y" . meow-next-word) '("Y" . meow-next-symbol) + '("u" . meow-next-word) '("U" . meow-next-symbol) + '("s" . meow-insert) '("S" . my/meow-insert-bol) + '("t" . meow-append) '("T" . my/meow-append-eol) + '("h" . meow-open-below) '("H" . meow-open-above) + '("w" . meow-change) '("W" . my/meow-change-eol) + '("x" . meow-delete) '("X" . kill-line) + '("c" . meow-save) '("C" . my/meow-yank-line) + '("v" . meow-yank) '("V" . meow-yank-pop) + '("z" . meow-undo) '("Z" . undo-redo) + '("a" . meow-block) '("A" . meow-line) + '("p" . meow-till) '("P" . my/meow-till-back) '("F" . my/meow-find-back) + '("k" . meow-search) '("K" . my/meow-search-back) + '("J" . meow-join)) + (define-key meow-normal-state-keymap "j" my/meow-scroll-map)) + +(after! meow (my/meow-neio-setup)) +(advice-add '+meow--setup-colemak :after #'my/meow-neio-setup) + +(map! :leader + (:prefix ("w" . "window") + "n" #'windmove-left "e" #'windmove-down + "i" #'windmove-up "o" #'windmove-right)) +#+end_src * Footnotes [fn:1] |
