https://github.com/PythonNut/evil-easymotion.git
git clone 'git://github.com/PythonNut/evil-easymotion.git'
In which we give Lokaltog/vim-easymotion a streak of malevolence.
Suppose you're a proud user of evil
, but you have a nasty habit: when you want to move ten lines down, you spam j ten times instead of using the ergonomically superior 10j. With evil-easymotion
you can invoke SPCj, and this plugin will put a target character on every possible position. Type the character on the target and wham! you have teleported there.
Obligatory screencast
Currently most motions are supported, and it's easy to define your own easymotions. Easymotions can also be composed with operators e.g. dSPCj to delete a bunch of lines.
evil-easymotion
has recently replaced its ace-jump-mode
backend with avy
. Avy has several advantages, including:
(1) is of course, the most important because it paves the way for implementing the features of EasyMotion 2.0. I hope the transition hasn't been too rough. If you encounter any problems, please tell.
To define easymotions for all motions that evil defines by default, add
emacs
(evilem-default-keybindings "SPC")
This binds all motions under the prefix SPC
in evil-motion-state-map
. This is not done by default for motions defined manually. You will need to supply the prefix.
Or, if you prefer more granular control:
emacs
(evilem-define (kbd "SPC w") 'evil-forward-word-begin)
You can always drop by the wiki for more tips.
I invite you to open issues about whatever you find lacking in evil-easymotion
! I will try to get to you in a timely fasion (probably only good until 2016).
Pull requests are welcome as well!
I'm deeply indebted to:
* abo-abo for authoring avy
, on which this package depends.
* Lokaltog for authoring vim-easymotion
and creating the paradigm which this package emulates.