This is the Vilearn interactive tutorial. It is by far the best way I've seen to learn vi, or to learn more about vi. It has five secions.
        Tutorial 1 -- Basic Editing
        Tutorial 2 -- Moving Efficiently
        Tutorial 3 -- Cutting and Pasting
        Tutorial 4 -- Inserting Techniques
        Tutorial 5 -- Tricks and Timesavers
You can learn vi from scratch, or if you already know vi, learn some real useful editting tricks.
Download vilearn now:
Vilearn - Vi Interactive Tutorial
Bring up your "Save Link As" option on the above link to download this file.
After you've uploaded this to a unix box, I suggest extracting it into your /usr/local directory, if you have one. If so, everything will work out of the box.

If you do not have /usr/local then you can extract it elsewhere and it will create a bin and lib directory. Go into the bin directory, edit the 'vilearn' script and change the lib path so that it points to the location of the new lib directory. You'll probably want to add the bin directory to the path your .profile or .cshrc if you plan on using vilearn more than once. (I wouldn't suggest trying to take it all in, in one setting)

The tutorial is meant to used on a 25 line display, so be sure to change to that before you run it. It basically just brings up vi on one of a set of files and lets you edit them as per the instructions IN the file. It sounds simple, and it is, but it's very effective.