feature/evil: enable evil-escape globally (excluding visual/multiedit)

This commit is contained in:
Henrik Lissner 2017-05-15 13:52:46 +02:00
parent 5fb028b49d
commit 6d84fd6ea3

View file

@ -262,19 +262,15 @@ across windows."
(def-package! evil-escape (def-package! evil-escape
:commands evil-escape-mode :demand t
:init :init
(defun +evil|escape-disable () (evil-escape-mode -1)) (setq evil-escape-excluded-states '(visual multiedit)
(defun +evil|escape-enable () (evil-escape-mode +1)) evil-escape-key-sequence "jk"
;; I only need evil-escape in insert and replace modes. evil-escape-delay 0.25)
(add-hook 'evil-insert-state-entry-hook #'+evil|escape-enable)
(add-hook 'evil-insert-state-exit-hook #'+evil|escape-disable)
(add-hook 'evil-replace-state-entry-hook #'+evil|escape-enable)
(add-hook 'evil-replace-state-exit-hook #'+evil|escape-disable)
:config :config
(map! :irvo "C-g" #'evil-escape) (evil-escape-mode +1)
(setq evil-escape-key-sequence "jk" (map! :irvo "C-g" #'evil-escape))
evil-escape-delay 0.25))
(def-package! evil-exchange (def-package! evil-exchange
@ -338,7 +334,10 @@ the new algorithm is confusing, like in python or ruby."
"Undo cursors and freeze them again (for next time)." "Undo cursors and freeze them again (for next time)."
(when (evil-mc-has-cursors-p) (when (evil-mc-has-cursors-p)
(evil-mc-undo-all-cursors))) (evil-mc-undo-all-cursors)))
(add-hook '+evil-esc-hook #'+evil|escape-multiple-cursors)) (add-hook '+evil-esc-hook #'+evil|escape-multiple-cursors)
;; disable evil-escape in evil-mc
(push 'evil-escape-mode evil-mc-incompatible-minor-modes))
(def-package! evil-multiedit (def-package! evil-multiedit