dotfiles/emacs/.emacs.d/config/init-evil.el

60 lines
1.7 KiB
EmacsLisp

;; -*- lexical-binding: t; -*-
;; Set up Vim keybindings with evil-mode
(use-package evil
:init
(setq evil-want-keybinding nil
evil-respect-visual-line-mode t)
:config
(evil-mode 1)
(evil-define-key 'motion 'global
"j" #'evil-next-visual-line
"k" #'evil-previous-visual-line)
(defun my-evil-lookup-func ()
"Context-aware `evil-lookup-func'"
(cond
((and (eq major-mode 'emacs-lisp-mode)
(thing-at-point 'symbol))
(helpful-symbol (intern (thing-at-point 'symbol))))
((eldoc--supported-p) (eldoc t))
((thing-at-point 'word) (consult-man (thing-at-point 'word t)))))
:custom
(evil-lookup-func #'my-evil-lookup-func)
(evil-undo-system 'undo-fu)
(evil-split-window-below t)
(evil-vsplit-window-right t))
(use-package evil-collection
:after evil
:config
(evil-collection-init '(dashboard
vterm
nov
info
magit
forge
dired
custom
view
ediff
replace
pdf
ripgrep
xref
compile
realgud
mu4e
cider
elfeed
pass
eshell
prodigy
docker
devdocs
vertico
minibuffer))
:custom
(evil-collection-setup-minibuffer t))
(provide 'init-evil)