blob: 0e400020beafd722e385bd33d3011a1e4df370f7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
;; Evil: Vim emulation layer
;; Must disable evil-want-keybinding before loading evil
;; This allows evil-collection to handle mode-specific keybindings
(setq evil-want-keybinding nil)
(use-package evil
:init
(setq evil-want-integration t) ;; Required for evil-collection
(setq evil-undo-system 'undo-redo) ;; Use Emacs 28+ built-in undo-redo
:config
(evil-mode 1)
;; Cursor shapes per evil state
(setq evil-normal-state-cursor 'box
evil-motion-state-cursor 'box
evil-visual-state-cursor 'box
evil-insert-state-cursor 'bar
evil-replace-state-cursor 'hbar
evil-emacs-state-cursor 'hbar))
;; Terminal cursor shape support (GUI handles it natively)
(use-package evil-terminal-cursor-changer
:if (not (display-graphic-p))
:after evil
:config
(etcc-on))
(use-package evil-collection
:after evil
:straight (evil-collection :type git :host github :repo "emacs-evil/evil-collection"
:files (:defaults "modes"))
:config
(evil-collection-init)) ;; Provides Evil bindings for many Emacs modes
|