This is a great article that shows you how to really harness some of the power of VIM. I snagged it from Builder.com.
It was a multiple part article so this is going to be kind of long but really filled with a lot of great information.
If you’re a developer working on a UNIX/Linux platform, you’ve already encountered vi. Vi users fall into one of two categories: those who hate it and continually curse its finger-twisting key combinations and hard-to-remember commands, and those who love the flexibility and power it offers. For a long time, I was in the former category. However, continuous usage has led to a gradual appreciation for the speed and power under the cryptic interface, and I’ve since learnt a bunch of shortcuts and key combinations that ease the task of writing code in the editor. This article discusses my personal top ten features. Before proceeding, ensure that you have a copy of ViM (that’s Vi iMproved) installed and working on your system. You can download both binaries and sources from vim.org.