60 lines
1.7 KiB
EmacsLisp
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)
|