run multiedit alongside an evil motion?
mohkale opened this issue · comments
So you can specify the region which you want to multiedit without first going into visual state.
Eg.
(general-define-key
:states 'multiedit
"g." 'hydra-evil-multiedit/body
"gk" 'evil-multiedit-prev
"gj" 'evil-multiedit-next)
now if I want to select and then iedit all occurences of evil-multiedit, because -
isn't in my syntax entry for elisp mode, I have to first goto visual state, then select evil-multiedit
and then run evil-multiedit-match-all
.
From the "gk"
line, this would be "v2t-g*" where g*
is my binding for evil-multiedit-match-all
.
instead I'd rather use the more vim/evil like "g*2t-". no need for visual state.
I've hacked in this kind of functionality
(defun evil-multiedit--multiedit (beg end)
(evil-visual-select beg
(max 0 (- end 1)))
(evil-multiedit-match-and-next))
(evil-define-operator evil-multiedit (beg end)
:repeat nil
(if (evil-get-command-property 'evil-multiedit :move-point)
(save-excursion
(evil-multiedit--multiedit beg end))
(evil-multiedit--multiedit beg end)))
(defun evil-multiedit--multiedit-all (beg end)
(evil-visual-select beg
(max 0 (- end 1)))
(evil-multiedit-match-all))
(evil-define-operator evil-multiedit-all (beg end)
:repeat nil
(if (evil-get-command-property 'evil-multiedit-all :move-point)
(save-excursion
(evil-multiedit--multiedit-all beg end))
(evil-multiedit--multiedit-all beg end)))