From cbf846b3b78fc304b87bf71664024a90abfce5e0 Mon Sep 17 00:00:00 2001 From: Zofia Szweda Date: Thu, 17 Sep 2026 20:06:07 +0200 Subject: emacs: modularize emacs config --- +colemak.el | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 +colemak.el (limited to '+colemak.el') diff --git a/+colemak.el b/+colemak.el new file mode 100644 index 0000000..31df83d --- /dev/null +++ b/+colemak.el @@ -0,0 +1,81 @@ +;;; $DOOMDIR/+colemak.el -*- lexical-binding: t; -*- + +(remove-hook 'doom-first-input-hook #'evil-snipe-mode) + +(evil-define-key '(normal visual operator) 'global + "n" 'evil-backward-char + "e" 'evil-next-line + "i" 'evil-previous-line + "o" 'evil-forward-char) + +(evil-define-key '(normal visual operator) 'global + "l" 'evil-backward-word-begin + "L" 'evil-backward-WORD-begin + "u" 'evil-forward-word-end + "U" 'evil-forward-WORD-end + "y" 'evil-forward-word-begin + "Y" 'evil-forward-word-begin) + +(with-eval-after-load 'evil-ex + (define-key evil-ex-completion-map (kbd "C-l") 'left-word) + (define-key evil-ex-completion-map (kbd "C-y") 'right-word)) + +(evil-define-key 'normal 'global + "s" 'evil-insert + "S" 'evil-insert-line + "t" 'evil-append + "T" 'evil-append-line + "h" 'evil-open-below + "H" 'evil-open-above) + +(evil-define-key '(normal visual) 'global + "w" 'evil-change + "W" 'evil-change-line) + +(evil-define-key 'normal 'global + "x" 'evil-delete-char + "c" 'evil-yank + "v" 'evil-paste-after + "X" 'evil-delete-line + "C" 'evil-yank-line + "V" 'evil-paste-before) + +(evil-define-key 'visual 'global + "x" 'evil-delete + "c" 'evil-yank + "v" 'evil-paste-after) + +(evil-define-key 'normal 'global + "z" 'evil-undo + "Z" 'evil-redo) + +(evil-define-key 'normal 'global + "a" 'evil-visual-char + "A" 'evil-visual-line + "ga" 'evil-visual-restore) + +(evil-define-key '(normal visual operator) 'global + "p" 'evil-find-char-to + "P" 'evil-find-char-to-backward + "b" 'evil-repeat-find-char + "B" 'evil-repeat-find-char-reverse + "k" 'evil-search-next + "K" 'evil-search-previous) + +(with-eval-after-load 'evil + (evil-define-key '(operator visual) 'global "r" evil-inner-text-objects-map)) + +(define-prefix-command 'my-colemak-fold-map) +(evil-define-key '(normal visual) 'global "j" 'my-colemak-fold-map) + +(define-key my-colemak-fold-map "j" 'evil-scroll-line-to-center) +(define-key my-colemak-fold-map "n" 'evil-scroll-line-to-top) +(define-key my-colemak-fold-map "e" 'evil-scroll-line-to-bottom) + +(evil-define-key 'normal 'global + "gK" 'evil-lookup) + +(map! :n "SPC w n" #'evil-window-left + :n "SPC w e" #'evil-window-down + :n "SPC w i" #'evil-window-up + :n "SPC w o" #'evil-window-right) -- cgit v1.2.3