From e02e99050f42a81c37fbf78f2d3e92922c46c3b0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 3 Jun 2017 11:45:17 +0200 Subject: [PATCH] Bring back evil-multiedit evil-mc is great, but sometimes iedit is simply the better tool. --- modules/feature/evil/config.el | 13 +++++++++++++ modules/feature/evil/packages.el | 1 + modules/private/hlissner/+bindings.el | 19 ++++++++++++++++--- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/modules/feature/evil/config.el b/modules/feature/evil/config.el index a3a229557..133470093 100644 --- a/modules/feature/evil/config.el +++ b/modules/feature/evil/config.el @@ -287,6 +287,19 @@ the new algorithm is confusing, like in python or ruby." (add-hook 'python-mode-hook #'+evil|simple-matchit)) +(def-package! evil-multiedit + :commands (evil-multiedit-match-all + evil-multiedit-match-and-next + evil-multiedit-match-and-prev + evil-multiedit-match-symbol-and-next + evil-multiedit-match-symbol-and-prev + evil-multiedit-toggle-or-restrict-region + evil-multiedit-next + evil-multiedit-prev + evil-multiedit-abort + evil-multiedit-ex-match)) + + (def-package! evil-mc :commands (evil-mc-make-cursor-here evil-mc-make-all-cursors evil-mc-undo-all-cursors evil-mc-pause-cursors diff --git a/modules/feature/evil/packages.el b/modules/feature/evil/packages.el index 45ae692d5..475993ce1 100644 --- a/modules/feature/evil/packages.el +++ b/modules/feature/evil/packages.el @@ -11,6 +11,7 @@ (package! evil-indent-plus) (package! evil-matchit) (package! evil-mc) +(package! evil-multiedit) (package! evil-numbers) (package! evil-textobj-anyblock) (package! evil-snipe) diff --git a/modules/private/hlissner/+bindings.el b/modules/private/hlissner/+bindings.el index d592a9c27..e02e44682 100644 --- a/modules/private/hlissner/+bindings.el +++ b/modules/private/hlissner/+bindings.el @@ -397,9 +397,6 @@ :n "C-k" nil) ;; evil-mc - :v "R" #'evil-mc-make-all-cursors - :nv "M-d" #'evil-mc-make-and-goto-next-match - :nv "M-D" #'evil-mc-make-and-goto-prev-match (:prefix "gz" :nv "m" #'evil-mc-make-all-cursors :nv "u" #'evil-mc-undo-all-cursors @@ -416,6 +413,22 @@ :nv "C-p" #'evil-mc-make-and-goto-prev-cursor :nv "C-P" #'evil-mc-make-and-goto-first-cursor) + ;; evil-multiedit + :v "R" #'evil-multiedit-match-all + :n "M-d" #'evil-multiedit-match-symbol-and-next + :n "M-D" #'evil-multiedit-match-symbol-and-prev + :v "M-d" #'evil-multiedit-match-and-next + :v "M-D" #'evil-multiedit-match-and-prev + :nv "C-M-d" #'evil-multiedit-restore + (:after evil-multiedit + (:map evil-multiedit-state-map + "M-d" #'evil-multiedit-match-and-next + "M-D" #'evil-multiedit-match-and-prev + "RET" #'evil-multiedit-toggle-or-restrict-region) + (:map (evil-multiedit-state-map evil-multiedit-insert-state-map) + "C-n" #'evil-multiedit-next + "C-p" #'evil-multiedit-prev)) + ;; evil-snipe (:after evil-snipe ;; Binding to switch to evil-easymotion/avy after a snipe