From 898e5092733d0ba6e3de0ac4b85e3382f3e52847 Mon Sep 17 00:00:00 2001 From: duianto Date: Tue, 2 Mar 2021 13:09:41 +0100 Subject: [PATCH] [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. --- .../evil-evilified-state.el | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/layers/+distributions/spacemacs-bootstrap/local/evil-evilified-state/evil-evilified-state.el b/layers/+distributions/spacemacs-bootstrap/local/evil-evilified-state/evil-evilified-state.el index 765be4c4b..d693327de 100644 --- a/layers/+distributions/spacemacs-bootstrap/local/evil-evilified-state/evil-evilified-state.el +++ b/layers/+distributions/spacemacs-bootstrap/local/evil-evilified-state/evil-evilified-state.el @@ -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)