summaryrefslogtreecommitdiff
path: root/lisp/td-evil.el
diff options
context:
space:
mode:
authortdback <tyler@tdback.net>2025-02-05 22:22:29 -0500
committertdback <tyler@tdback.net>2025-02-05 22:22:29 -0500
commit5c590db7901f6e0f0a089bcf71401d6a4c9ba1d3 (patch)
treea764c99cff33a29ba61fd1d54a956aa5013ff4a7 /lisp/td-evil.el
initial: we are SO back
Diffstat (limited to 'lisp/td-evil.el')
-rw-r--r--lisp/td-evil.el33
1 files changed, 33 insertions, 0 deletions
diff --git a/lisp/td-evil.el b/lisp/td-evil.el
new file mode 100644
index 0000000..afa92a7
--- /dev/null
+++ b/lisp/td-evil.el
@@ -0,0 +1,33 @@
+;;; -*- lexical-binding: t; -*-
+
+(use-package evil
+ :init
+ (setq evil-want-integration t)
+ (setq evil-want-keybinding nil)
+ (setq evil-want-C-u-scroll t)
+ (setq evil-want-C-i-jump nil)
+ (setq evil-insert-state-cursor t)
+ :config
+ (evil-mode 1)
+
+ ;; Fix keybindings.
+ (define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state)
+ (define-key evil-insert-state-map (kbd "C-h") 'evil-delete-backward-char-and-join)
+
+ ;; Use visual line motions even outside of visual-line-mode buffers.
+ (evil-global-set-key 'motion "j" 'evil-next-visual-line)
+ (evil-global-set-key 'motion "k" 'evil-previous-visual-line)
+
+ ;; Ensure some buffers start in normal mode.
+ (evil-set-initial-state 'messages-buffer-mode 'normal)
+ (evil-set-initial-state 'dashboard-mode 'normal))
+
+(use-package evil-collection
+ :after evil
+ :config
+ (evil-collection-init))
+
+(use-package evil-nerd-commenter
+ :bind ("M-/" . evilnc-comment-or-uncomment-lines))
+
+(provide 'td-evil)