Real Linux users don't use GUIs. No matter how popular, slick and sophisticated the interfaces become for Linux and UNIX, you'll always need to be able to navigate in a text editor. The vi editor is the original standard UNIX full screen editor. It's been around almost since UNIX began and it has changed very little. To get around the limitations of vi the people at Bram Moolenaar created the vim editor (the name stand for VI iMproved). It contains many more features than the old vi editor including: help, multiple windows, syntax highlighting, programmer support, and HTML support. All of the books published to date focus on vi alone not the expanded vim shipping with every major Linux distribution. In true New Riders' form, the vim reference will be a definitive, concise reference for the professional Linux user and developer. This tutorial takes a task oriented approach allowing you to learn only the commands that make your job easier.
If you have read my blogs from the very beginning you would know that I am a Vim fan. Even when I write code in Eclipse I try to do it the vi(m) way as much as possible. I don’t recommend reading this book in one go. Rather I suggest reading a bit and then trying out what you read.
I don't have anything better for Vim reference, but I do not like referring to this book. The writing is of fair quality and the information seems to be accurate, but it is organized in a confusing manner, and topics don't always appear where I expect. This is particularly unfortunate because the index is *terrible* and so I often don't find what I am looking for and must resort to Google.