hlissner/evil-multiedit

Backport all of evil-iedit-state?

Ambrevar opened this issue · 5 comments

evil-iedit-state does not seem to receive many updates.
Sadly, evil-multiedit is not exactly a drop-in replacement, I think some features are missing, namely:

  • F : restrict the scope to the function
  • p : replace occurrences with last yanked (copied) text (does not seem to work in multiedit)
  • U : Up-case the occurrences (casing with gU only applies to the current occurence)
  • C-U: down-case the occurrences (same)

Maybe that was on purpose?

This one too is missing:

  • #: prefix all occurrences with an increasing number (C-u to choose the starting number).

p, U and C-U can all be achieved by first pressing V. # seems to be a promising feature.

Sorry for the incredibly late reply! This issue slipped under my radar.

F: restrict the scope to the function

There's evil-multiedit-toggle-or-restrict-region, which, if used when a selection is active will restrict scope to that selection. There is no restrict-to-function variant, but wouldn't using iedit-restrict-function directly work?

p : replace occurrences with last yanked (copied) text

It doesn't? Do you have steps to reproduce this? p appears to work fine for me

U/C-U

This is odd. gU and gu only sometimes propagate to other occurances. You could optionally bind U and C-U in evil-multiedit-state-map to iedit-downcase-occurrences and iedit-upcase-occurrences, but I'll see if I can do something about gU and gu.

Pressing V is not an exact work around. It does not allow to only upcase/downcase part of the expression.

F: Yup, M-H works indeed, don't know how I missed that.

p: Hmmm, it seems to work most of the time, but I think it has a bug similar to gu/gU where it does not always propagate: only the current selection gets update with the correct kill-ring entry, while the others matches get deleted (I think).

Have you had time to look into this?