aboutsummaryrefslogtreecommitdiff
path: root/config.el
diff options
context:
space:
mode:
Diffstat (limited to 'config.el')
-rw-r--r--config.el60
1 files changed, 57 insertions, 3 deletions
diff --git a/config.el b/config.el
index 98320b9..af0f91e 100644
--- a/config.el
+++ b/config.el
@@ -149,8 +149,6 @@
(setq gnus-permanently-visible-groups ".")
-(evil-set-initial-state 'gnus-browse-mode 'emacs)
-
(setq user-mail-address "hi@roughlynamed.net" ; my email
user-full-name "Magdalena Szweda") ; my name
@@ -160,6 +158,8 @@
(setq message-signature-file "~/.signature") ; note no trailing slash
+(evil-set-initial-state 'gnus-browse-mode 'emacs)
+
(setq gnus-select-method
'(nnimap "migadu"
(nnimap-address "imap.migadu.com")
@@ -734,7 +734,7 @@ org-html-postamble nil))
(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
@@ -843,3 +843,57 @@ org-html-postamble nil))
:n "SPC w e" #'evil-window-down
:n "SPC w i" #'evil-window-up
:n "SPC w o" #'evil-window-right)
+
+(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))