One Minute Bottom Line
|This book is about 200 pages of recipes that make you a better Vim user. It's great for new comers and those who need a refresher.
There are two reasons for wanting to read "Hacking Vim". Maybe you have just decided your side in the endless war, Emacs vs. Vim. If that's so, I welcome you to our side. You might skip to the next paragraph. Or, maybe you have been using Vim for a while and want to get more out of it. If that's the case, don't be fooled by the title of this book. Unless you needed a refresher, this book is better suited to new comers.
"Hacking Vim" contains 6 chapters and 2 appendices. You can read them in any order without getting lost. It is a cookbook (a book of recipes), not a tutorial nor a reference. The chapters do not build-up, so have no mercy for the boring ones. The first for example tells the story of Vim and its ancestors. Most people would want to skip it and come back to it later.
Each chapter covers selected aspects of Vim that fit under the same category. Even though Vim comes with a huge documentation, the author does a great job in discussing the essential to get you going. Each topic introduces a problem or task you might want to accomplish. The author proceeds by showing a way to accomplish it. And he points to the docs when his discussion is only superficial.
Chapter 4, "Production Booster", is easily my favorite. It covers various ways for speeding up your daily usage of Vim. It discusses templates, auto-completion, macros, registers, the built-in version controlling system, and much more. It is definitely a must-read for programmers. So is chapter 6 which discusses the Vim scripting environment and how to use Python (Yay!) or Ruby (Nay!) for more scripting power.
The book could have been better organized though. The author could have started with chapter 3, "Better Navigation". Not chapter 2, "Personalizing Vim", which I think belongs to late parts of the book. (Remember chapter 1 is nothing but stories.) This would have been a more logical organization. But again, "Hacking Vim" is a cookbook, not a tutorial. Another thing that will annoy programmers is the low-level of the discussion of the Vim scripting environment. I found it long and boring and I admit I had to photoread that part.
I said before that the book has two appendices. The first adds no real value. It's a six-page showcase of what Vim can do. That one is for you, Emacs. Appendix B does a better job. It tells you how to organize your "vimrc" and keep it clean.
In conclusion, "Hacking Vim" is good at getting you started quickly and making you a better Vim user. Vim’s help system can be confusing and discouraging. Believe me. But "Hacking Vim" is a one-time book; one that you probably won't be coming back to after you read it.