Swapping "i" and "e" causes "ds" and "cs" to stop working

Vegard Øye vegard_oye at hotmail.com
Thu Sep 1 14:18:55 CEST 2011

On 2011-08-31 20:07 +0200, York Zhao wrote:

> (define-key evil-motion-state-map "i" 'evil-forward-word-end)

This overwrites the bindings for inner text objects, which are bound
in `evil-motion-state-map' as "iw", "i(", etc.

Evil and evil-surround can be made more flexible in two steps:

1. Define the keymaps `evil-outer-text-objects-map' and
   `evil-inner-text-objects-map' for binding text objects, and have
   evil-surround use these maps. Evil commit 2104311 adds the keymaps,
   and I have created a pull request for evil-surround:


2. With the above in place, it might be more fitting to move text
   objects from Motion state to Visual state and Operator-Pending
   state (instead of having the latter two inherit from the former).
   Text objects have no function in modes that come up in Motion
   state, and as seen, they get in the way of rebinding.


More information about the implementations-list mailing list