Well I think the nice point of doing excercise in a web browser is that you can quickly switch to another tab and search for daring questions such as " by the way why on earth does this monstrosity want me to use hjkl? That don't make any sense!!!!"
For a mostly data/SQL guy wanting to learn more about coding it still don't make much sense but at least I know why and I can move on. When I was trying vimtutor in a CLI interface I was less curious and more WTF F... this is pure madness kind of mood.
Dunno if I'll subscribe but nice first experience through this demo.
HJKL also allows you to keep your fingers on the homerow at all times which is really great. I had issues with RSI that when away when I started using Vim properly. Travelling to the arrow keys now feels like a painful task to me! Of course, as a sibling comment mentioned, hjkl is the worst way to move around--"power users" generally only use them to move a char/line or two.
On the other side, it is probably the most unnecessary inflicted pain for beginners. Even after years of using vim on a daily basis, I can't get used to hjkl and still use the arrow keys. I tried a few times with different approaches, but it never lasted more than a few days. So pushing someone new to use hjkl for navigation is so unnecessary and just kills a lot of motivation for very little value.
Starting with deleting, yanking and pasting would be a lot more fun. Even navigation with gg and G plus numbers would be a lot more useful too. Like when you get an error message that is caused by line 42, you know why you want to use vim next time.
The way I got used to hjkl home row was by completely disabling the arrow keys in my vimrc file (in normal and insert modes). I was struggling before that though.
I don't disagree that it might not be the best thing to introduce to new users right off the bat. It's really nice if you force yourself to get used to it, but it's also cool to never use them. Not using them does give you four free homerow keys to map! But they're really nice if you can get used to them.
Maybe the problem is that you are not supposed to rely solely on hjkl for navigation? Not sure how others use it, but for me most of the navigation are performed with <C-d> / <C-u> / search (long range) or f, w, b etc (shorter range, usually with modifiers). hjkl are almost always used in combination with these to adjust the initial / final location of the cursor.
I sometimes use arrow keys (especially when in edit mode and I don't want to reach up to escape ...) hjkl really shines when combined with other operations like `d5l` or even smarter things.
Fortunately, j & k are next to each other, and I never noticed any disconnect in vim w/Dvorak. I never use h & l -- mostly space, w/W, or b/B. But I also learned Dvorak before vim, so I never got used to hjkl.
I played a ton of Nethack in college and adopted Dvorak at the same time. hjkl work remarkably well with Dvorak, and I found it so much more natural than the same letters with Qwerty.
j and k being next to each other makes their relative motion sensible still. And the new positions of h and l keep them in the correct relative position to indicate left and right, but easier to use. The right index finger is already on h and the pinky needs to move up one key for l. And up/down is now the left hand, with right/left being on the right hand.
I've found emacs to be similarly more sensible and comfortable, using default key bindings, with Dvorak than Qwerty.
> the nice point of doing excercise in a web browser is that you can quickly switch to another tab and search for daring questions such as (...)
On the contrary... I'd say that if you are outside a browser, it is somewhat easier to have a browser window side by side and ALT-TAB between both. Having two tabs visible at the same time is a bit cumbersome.
The most shocking thing to me was that after weeks of struggling to get used to hjkl for navigating in vim, I realized that I had already been using jk for navigating up and down on numerous sites (reddit, gmail, twitter) for YEARS.
When you consider the concept of home row keys and touch typing I find it very natural, actually. Its ergonomic and very fast if you get into the habit of resting your fingers on the home row.
Though you may have been alluding to more powerful movements!
https://catonmat.net/why-vim-uses-hjkl-as-arrow-keys
For a mostly data/SQL guy wanting to learn more about coding it still don't make much sense but at least I know why and I can move on. When I was trying vimtutor in a CLI interface I was less curious and more WTF F... this is pure madness kind of mood.
Dunno if I'll subscribe but nice first experience through this demo.