vimtutor was all it took for me and didn't take that long. Yes, it takes about 30 minutes to get through, but I used it off and on as a refresher as I was getting more accustomed to using vim. Here I am half a year later I do almost all of my text editing using GVim. My advice would be to gradually ease into the advanced commands and plugins and not to immediately try and fix every problem you come across where vim doesn't behave like you would expect coming from other editors.
I found that vimemu's graphical tutorial cheatsheets were a great, incremental way to get accustomed vim bindings. I can't speak to how accurate they are to the "real" vi/vim, but they've helped me get used to Sublime's vintage mode.
There are 7 "lessons". I just printed them out and stuck a new one in front of my keyboard every week or so.
I wasn't suggesting not to use any plugins, just to instead use the editor's basic commands first. It is really distracting trying to fix everything at once when you should focus on using the editor.
This is an extremely common problem in vim-like implementations that aren't actually vim. Vim emulators in IDEs are a huge culprit for this. Just missing one command can be very painful (for example this website doesn't enable using / as a movement command). In the end I learned to always use vim itself.
I've tried to learn vi for years. The simplicity of this tutorial is the first thing that allowed me to "get it." Maybe I'm just ready at last, but the quick tutorial gave me just enough beyond what I needed to know before (i/r/:wq) to grasp its power. I've tripled my vi knowledge without being intimidated.
Years didn't do it but less than 40 minutes (since this was published) got you in. I'm either missing something or you haven't put your time to good use.
Try vimtutor in your terminal. It's supposed to take 30 minutes.
You'll miss a lot of things from the tutorial the first time but you can come back to it as often as needed. You also shouldn't go any further than the tutorial until everything in it makes sense. Once you're at that point, you'll be autonomous for finding new commands and a happy vim user.
I may sound mad but seriously, what's with the a-web-app-for-everything madness?
Point taken, however I work sometimes in a large open plan office with administered win7 pcs and command prompt disabled. I can use this site to do some practice for a ten minute burst with headphones on just as an 'interaction break'.
Sounds like someone pissed in your Wheaties this morning. Anything to get more people to give vim/the vim style of doing things a chance is always cool in my book.
The reason it being on web is that it's a low barrier to try out, and it concentrates on the first steps; in my opinion, systems should provide a gradually progressive way to learn them.
1) the text "line in" for reading comes in too slow. I want the whole text up on the screen in a flash so I can concentrate on reading. I usually either find I'm faster than the "line in" animation OR the line in is too distracting to read around.
2) with respect to the tutorials, at the end of each section I should have all the new commands "unlocked" so I can `h` `j` `k` `l` until I'm 100% comfortable with what each key does.
1) you can press any key to show rest of the text quickly. (not exactly on a flash always)
2) I considered adding a sandbox view on the same page so that user could make herself comfortable but decided against it, as I wanted to keep things simple. So this kind of restricted command set in the actual tutorial might be a nice solution; I haven't done it yet since it makes the flow non-linear; I might make the tutorial more interactive in other aspects, but it needs still thinking. Good point, anyway.
You mean, why is modal special? Vim has multiple modes to make it easier to perform certain sets of operations. The commands for insertion of text are separated from the command for manipulating the text. It's been years since I've used vim but it certainly does make aspects of a keyboard driven editor easier on the hands than emacs does.
For those who would like to try emacs in their browser, there is ymacs, a emacs like editor implemented in javascript. It's not specifically a tutorial, but it's good enough to try out the basics.
I am now near ten years of daily vim usage, maybe I am not like the others but I still do not use hjkl to move around. I do not think hjkl should be in a first place of an introduction to Vim for coders. Instead, I would explain about / ? * # > < and :s, which are the basic for editing code.
Not everything does work properly with non qwerty keyboards: for instance '0' doesn't work in the sandbox for an be-latin keyboard (tough it works in the tutorial), tough I suppose it doesn't work for every keyboard that need press the maj key to produce a number.
I had to turn of Firefox's Find As You Type to make it work, but well worth it!
I have gone so far as to FTP files to myself to edit on a more familiar editor, then FTP'd them back to the target machine rather than use vi, so it's high time I internalized the basics.
But yeah this is nice. I consider myself proficient with vim and use it daily for a year but I'd like to try such a tool for other editors. Say TextMate in Ruby mode or emacs..