This post originated from an RSS feed registered with Python Buzz
by Carlos de la Guardia.
Original Post: Book review: Hacking VIM
Feed Title: I blog therefore I am
Feed URL: http://blog.delaguardia.com.mx/feed.atom
Feed Description: A space to put my thoughts into writing.
Packt Publishing was generous enough to send me for review a copy of their book, Hacking Vim. I was really looking forward to this, but then some family matters prevented me from finishing the task within a reasonable amount of time. This is my late, late, late review.
Hacking Vim is a cookbook for becoming more productive using Vim and GVim. At 200 pages, it is not a large book, but it is packed with recipes and tips. The recipes range from simple stuff, like changing the color scheme, to advanced tasks, like creating and distributing Vim scripts. Some of the recipes apply only to GVim.
The book begins with an introduction, where the author quickly goes through the genealogy of Vim and explains how it differs from similar editors, like Elvis or Vi itself. This is short and to the point. It can easily be skipped if the reader wants to go straight to the recipes.
The recipes are organized into four categories, each devoted a separate chapter: personalization, navigation, production boosters and advanced formatting. Each chapter contains around ten to fifteen recipes. In addition, there are tips scattered all through the book. In general, I liked the format and the table of contents makes it easy to find a given recipe.
Personal favorites in the personalization chapter were spell checking, using abbreviations and modifying key bindings. In the navigation chapter I liked the explanations for search and markers. My favorite chapter was the one about production boosters, specially templates, tag lists, macros and opening files everywhere. On the formatting chapter I looked more into code formatting than text, since I use Vim mostly for development.
The final chapter is a tutorial for creating Vim scripts, covering everything from development to distribution. Instructions are included for creating the scripts using other programming languages, like Python and Ruby.
The appendices are more useful than in the average book. They include a survey of unusual Vim plugins, like games and mail clients. A sort of bonus recipe about storing the Vim configuration file online is also included.
Though I use Vim a lot, I'm not what you could call a power user. I don't think I'll ever write a Vim script, for example. Overall, however, I got some benefit from the book, even though serious practice is needed to really take advantage of some recipes.
That said, things like templates and tag lists can make the light Vim user much more productive without too much effort. Also, there are references to many Vim plugins that further simplify the work needed to get some stuff done. My Plone and Python development immediately became easier because of all this.
In conclusion, if you use Vim and are not an expert, I think this is a valuable book to own, though the US $40 price tag seems a little steep to me (it is also available as an e-book for half of that).