For me, the bottleneck to picking up vim has not been merely knowing the hotkeys, but more internalizing the commands and building muscle memory.
The interactive game format of this website could possibly solve that, so it appeals to me.
> It is important to remember that this tutor is set up to teach by use. That means that you need to execute the commands to learn them properly. If you only read the text, you will forget the commands!
And it's free, not 15 USD or whatever this site is charging.
is provided by vimtutor. I wish people would take a couple hundred milliseconds to research things like this before posting about them — most [GNU’s Not] Unix commands take less time to run than a webpage takes to load, and installing their packages takes no more typing than a web search.
Have tried vimtutor twice. It is seriously confusing if you don't use US keyboard layout and there are probably a couple of other sources of confusion as well.
I did well at school, I do well at work but not so well at vimtutor.
So I think I'm kind of qualified to say that there's room for other resources besides vimtutor.
Also the way you write it is kind of rude.
Also vimtutor requires you to actually use the commands on the document. I don't think there is a single key press it doesn't explicitly tell you to press.
Maybe do a quick run through so you can give an example of a place that is confusing?
On the multiuser Unix systems at Purdue, it was typical to have at least half a dozen people on the server, with explosions going off like fireworks. We ran the mod where you could collect 200 ammunition for the nuke, which would destroy a third of the screen.
https://man.openbsd.org/OpenBSD-current/man6/hunt.6
We also had Larry Wall's (yes, that one) video game Warp, which was a lot more action-oriented than the original Star Trek video game. It also used the same hjkl movement keys.
http://ftpmirror.your.org/pub/misc/unixarchive/PDP-11/Trees/...
And of course there was Rogue and Nethack, but those are a lot better remembered these days.
Also, you exit by pressing ESC and then typing :q (hit enter)
But there's actually nothing special about vimtutor here: all it does is write a temporary file and then open it in vim.
I remember my first vi sessions (typically via something like `crontab -e` where it wasn't clear to me it picked my "default" editor ... thus didn't know where to read up on it ...) some long time ago, where i knew `kill` before the right command ...
I don't understand how some people can say the learning curve is too steep. Sure it's a bit annoying at first, but it quickly becomes natural, and you don't have to use all features at first. It has allowed me to improve my touch typing a lot. Learning a programming language is a lot more work but hardly anyone ever complain about it.
It's been maybe two months and I wouldn't think of using anything else than vim for serious code editing.
I am doing fine with vim for basic editing tasks and use it a lot (mostly when I'm already in the command line). But there's just only so many shortcuts I'm capable of memorizing. This is not a problem for me exclusive to vim, of course. In IntelliJ I also sometimes find an amazing new function that I then don't keep using since I've already exhausted my limited "inclination" of learning new shortcuts. Also, I don't think my productivity gains at this point are going to come from faster input anyway. Sorry, vim, it's not you, it's me.
When you finally become competent, it is an absolute joy to work with. It makes me think about editing in a totally different way. However the road to get to that point is not fun.
I started out with basic tasks in the terminal, & vimtutor reps. Then graduated to using a VS code plugin. I would turn it on for 10-15 minutes at a time a few times a day. Usually turning it off once I realize I wasn’t getting anything done :) But solid reps everyday over a few months and I got to where I learned more complex commands/ movements. Eventually I never needed to turn it off!
Then I began the configuration & plugin rabit-hole :)
Do you ever miss the global commands not implemented in VS code's plug-in? I still do sometimes, like this: https://youtu.be/46Evprns18M
Yeah that's a good point. After a while you do start to realize the limitations of the VS Code plugin. That video is a good example. But once I got to where I could edit at equivalent speed I was used to, I dropped VS Code completely. I looked at the plugin as 'training wheels'.
I'm not as hardcore as some. I still prefer to use GVim/ Macvim. I'm not an 'everything must stay in the terminal' purist. I know some who are, but I still like being able to use the mouse to bail me out sometimes, and always have access to the system clipboard without having to recompile vim :)
I don't go crazy with config & plugins, but I got my setup to where I have all the features I missed from VS Code, and that's enough for me.
There is always more to learn though. I feel like I've been complacent lately, so you have to remind yourself sometimes to make an effort to seek out more advanced techniques.
That video is a great example of some of the incredibly powerful things Vim can do! I'm a big fan of macros for repetitive tasks.
This concludes the Vim Tutor. It was intended to give a brief overview of
the Vim editor, just enough to allow you to use the editor fairly easily.
It is far from complete as Vim has many many more commands. Read the user
manual next: ":help user-manual".