Hacking Vim
Vim has the potential to dramatically increase a programmer’s productivity if you have the time and wherewithal to learn it. And it is a challenge to learn because it is unlike any other text editor (leaving aside other vi clones). It takes work not only to learn the editor’s features and commands, but also to train yourself to use them effectively. Even experienced vim users will discover new, exciting features from time to time. And that is what makes Hacking Vim, by Kim Schulz, a real treat. It takes you on a brief tour of some of the coolest features of vim without getting bogged down in any one of them.
Hacking Vim bills itself as a recipe book. While it provides quite a few good ones, it seems to be organized more like a tutorial, using the examples to walk through some of the cooler features of vim. That said, the recipes it provides are very useful and a good number have made it into my ~/.vimrc.
I found some examples to be overly contrived. The author could have done a better job relating samples to real-world situations. I also wish it had gone into more depth when explaining some examples early on. If you don’t skip ahead and read the section on vim scripting (or know it already), there are a few traps in the examples.
For all that, though, my now heavily dog-eared and ruffled copy was well worth the money. Like other books from the same publisher, Hacking Vim stays on subject, maintaining its focus and pragmatism. Definitely a good source of worthwhile tips.