If you're actually interested in getting some of that muscle memory, my suggestion to people just getting started has always been to simply force yourself to use vi(m) for whatever you're working on and only learn one or two new things at a time. Say you've just learned gg and G to move to the beginning or end of the file. Whenever you find yourself wanting to move to the beginning or end, use your new command. Don't try to learn any more until gg and G have become second nature (or unless you find you don't really use it often enough to justify committing it to memory; it will happen). Then figure out what your next biggest slowdown or frustration is and figure out the "vim way" of doing that and add that to your repertoire. Rinse and repeat. If you do even a moderate bit of coding, it really doesn't take long to learn enough to improve your speed/efficiency. It may feel slow and frustrating at first, but in my experience, and for everyone I've "coached" on vim, it's a pretty small hump to get over if you just stick with it.
By the time you've got 20+ years doing this, you'll have a workflow that is extremely well suited to your needs/preferences. And that's the nice thing with vim; it will always have room for you to expand your skills with it, but you don't have to know even close to all of it to benefit from it. Use what fits your needs and what helps; the rest is just candy.
By the time you've got 20+ years doing this, you'll have a workflow that is extremely well suited to your needs/preferences. And that's the nice thing with vim; it will always have room for you to expand your skills with it, but you don't have to know even close to all of it to benefit from it. Use what fits your needs and what helps; the rest is just candy.