[evilified] Add evilified normal keys: yank, navigate

evilified normal state is missing some useful keys:
y (evil-yank) and the common navigation keys:
f, F, t, T, w, W, b, B, $, ^

They are available in evilified visual state,
but it's useful to be able to copy text
without having to enter visual state first.

Adding `y` (`evil-yank`), makes the inner (`i`) and outer (`a`),
text objects available in evilified normal state.

This also adds the text objects to evilified visual state.
This commit is contained in:
duianto 2021-03-02 13:09:41 +01:00 committed by Maximilian Wolff
parent 94585331ce
commit 898e509273
1 changed files with 18 additions and 4 deletions

View File

@ -120,8 +120,10 @@ Needed to bypass keymaps set as text properties."
(setq-local evilified-state--visual-state-map
(copy-keymap evil-visual-state-map)))
(setq-local evil-visual-state-map
(cons 'keymap (list (cons ?y 'evil-yank)
(cons 'escape 'evil-exit-visual-state)))))
(cons 'keymap (list (cons 'escape 'evil-exit-visual-state)
(cons ?i evil-inner-text-objects-map)
(cons ?a evil-outer-text-objects-map)
(cons ?y 'evil-yank)))))
(defun evilified-state--restore-visual-state-keymap ()
"Restore the visual state keymap."
@ -176,18 +178,30 @@ Needed to bypass keymaps set as text properties."
'evilified-state--evilified-state-on-entry)
;; default key bindings for all evilified buffers
(define-key evil-evilified-state-map "$" 'evil-end-of-line)
(define-key evil-evilified-state-map "^" 'evil-first-non-blank)
(define-key evil-evilified-state-map "/" 'evil-search-forward)
(define-key evil-evilified-state-map ":" 'evil-ex)
(define-key evil-evilified-state-map "b" 'evil-backward-word-begin)
(define-key evil-evilified-state-map "B" 'evil-backward-WORD-begin)
(define-key evil-evilified-state-map "f" 'evil-find-char)
(define-key evil-evilified-state-map "F" 'evil-find-char-backward)
(define-key evil-evilified-state-map "gg" 'evil-goto-first-line)
(define-key evil-evilified-state-map "G" 'evil-goto-line)
(define-key evil-evilified-state-map "h" 'evil-backward-char)
(define-key evil-evilified-state-map "j" 'evil-next-visual-line)
(define-key evil-evilified-state-map "k" 'evil-previous-visual-line)
(define-key evil-evilified-state-map "l" 'evil-forward-char)
(define-key evil-evilified-state-map "n" 'evil-search-next)
(define-key evil-evilified-state-map "N" 'evil-search-previous)
(define-key evil-evilified-state-map "t" 'evil-find-char-to)
(define-key evil-evilified-state-map "T" 'evil-find-char-to-backward)
(define-key evil-evilified-state-map "v" 'evil-visual-char)
(define-key evil-evilified-state-map "V" 'evil-visual-line)
(define-key evil-evilified-state-map "gg" 'evil-goto-first-line)
(define-key evil-evilified-state-map "G" 'evil-goto-line)
(define-key evil-evilified-state-map "w" 'evil-forward-word-begin)
(define-key evil-evilified-state-map "W" 'evil-forward-WORD-begin)
(define-key evil-evilified-state-map "y" 'evil-yank)
(define-key evil-evilified-state-map "Y" 'evil-yank-line)
(define-key evil-evilified-state-map (kbd "C-f") 'evil-scroll-page-down)
(define-key evil-evilified-state-map (kbd "C-b") 'evil-scroll-page-up)
(define-key evil-evilified-state-map (kbd "C-e") 'evil-scroll-line-down)