Perhaps I'm biased because it's how I first learned vi ~15 years ago,
but I still think the best way to learn vi(m) is by running
<i>vimtutor</i>. It copies the tutorial text file to /tmp and launches
vim against it. The text first teaches the user how to move the cursor
around (in order to scroll down to the next lesson), then how to exit the editor,
and finally different ways of modifying text. Many lessons are followed
by interactive examples, which is a really neat way to learn (e.g.,
"Make the second line below look like the first line").<p>Text of the tutorial: <a href="http://ftp.vim.org/vim/runtime/tutor/tutor" rel="nofollow">http://ftp.vim.org/vim/runtime/tutor/tutor</a>