aboutsummaryrefslogtreecommitdiff
path: root/+colemak.el
diff options
context:
space:
mode:
Diffstat (limited to '+colemak.el')
-rw-r--r--+colemak.el81
1 files changed, 81 insertions, 0 deletions
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)