I learned vim about two years ago and have been using it ever since, and at the time I learned it I learned all the neat combos for moving your cursor ("w", "5w", "b", "^", "$", and many other actually complicated ones besides).
As clever as these motions are though, easymotion simply blows them out of the water and there's no reason to use them. With easy motion it only takes as long as it takes your eye to move to where you want to move and you're there...you really can't beat that.
In some cases of course easymotion isn't enough because the place to which you need to move isn't on screen. So far all files I edit are short enough that I can scan the whole thing relatively easily by just holding down "J" or "K" (which I have mapped to "10j" and "10k")
vim-sneak[1] is a less bling-bling alternative to easymotion. I originally wrote it to address the sub-optimal valley between Vim's built-in near-distance (f, t, ...) and long-distance (/) motions. It also tries to avoid the hesitation that easymotion introduces, by avoiding the need to select a label if the first match is correct.
Isn't it more accurate to say there's an elisp package called evil-snipe which does this? The spacemacs layer didn't write the functionality, it's one example of how to configure it.
I'm trying out <leader>j for join for now, seems handy so far. I'm liking being able to hit the J for 10j several times in a row fast. I don't think I join often enough to mind it being 2 sequential keys instead of a combo.
If I understand correctly, I can gj down a few times and get the same general effect, without having to install something.
For me there's a tension between a growing number of very specific features and my ability to remember them all. These days I opt for minimal vim addons, as there's usually a good enough way to get something done by default.
But for people who need exactly this sort of thing, this thing is exactly the sort of thing they'll like.
Yeah, gj is similar in the same way that you can press l a few times instead of e. (I've mapped j to do the same thing as gj anyway as I want to navigate the physical screen, not honour lines as indivisible entities).
It's not really a matter of saving time, but eliminating friction (context-switches). Editing is a chore, and fiddling with text while taking notes, or debugging, or thinking about a problem, has a cost.
It's also quite alarming to reach a level of proficiency where you can make non-trivial edits without looking at what you're editing, and know that the edits are correct. Again, this avoids context-switches.
That's why Vim is so focused on precision ("do exactly this") rather than DWIM ("Do What I Mean [usually]": the emacs/IDE approach).
Certainly whether the ramp-up cost is worth the "payoff" is debatable, but for me, editing text became so irritating that my initial experiments with Vim were driven from pure exhaustion after years of blub-craft.
That point about "do exactly this" vs DWIM is interesting. As an evil user, I didn't think of it that way, but I can definitely see where this is true.
In my experience, arbitrary movement when what you move to is on the screen is actually faster if you use a mouse. It's unconventional, but I use a mouse for such movements for that reason (vim has excellent mouse support, even its TUI version).
In vim some operations require a movement, where vim's movement has an advantage over using the mouse. For example, dt. deletes until the next period, or ci( which deletes the text inside parentheses and then enters insert mode.
You can still use the mouse for navigating. You should also keep in mind that one of the big advantages of vim is not just the ability to navigate quicker, but to combine quick movements with other operations -- for example, deleting text until a specified character, or copying text inside parentheses (from anywhere inside the parentheses).
Took me about 2-3 weeks to be productive in Vim. First week was pretty painful (though vimtutor helped a lot). If you are going to work your whole life with computers it's definitely worth it (and it's not only about time saved though that's a big one).
First of all, I want to say thanks to both authors Vim-vertical and vim-sneak for trying to do something useful for Vim community.
Therefore, I think that it's quite a bad idea to use any of this plugins. The reason is that the most powerful Vim's concept is text-object and such shortcuts ruining muscle memory and mixing core technology understanding.
IMHO easy-motion gives excellent text-object visualization which helps me to understand text structure better.
As clever as these motions are though, easymotion simply blows them out of the water and there's no reason to use them. With easy motion it only takes as long as it takes your eye to move to where you want to move and you're there...you really can't beat that.
In some cases of course easymotion isn't enough because the place to which you need to move isn't on screen. So far all files I edit are short enough that I can scan the whole thing relatively easily by just holding down "J" or "K" (which I have mapped to "10j" and "10k")