Hacking Vim 7.2 Paperback – Apr 29 2010
|New from||Used from|
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
About the Author
Kim Schulz has an M.Sc. in Software Engineering from Aalborg University in Denmark. He has been an active developer in the Linux and Open Source communities since 1997 and has worked with everything from translation and bug fixing to producing full-blown software systems. This entire time, Vim has been Kim's editor of choice and it has been the first thing he installs whenever he sits by a new computer. Today Kim works as a full-time software engineer at CSR Plc. developing software for the next generation wireless technologies. A lot of Kim's spare time has been spent on developing the open-source CMS Fundanemt. This has lead to him now owning the web-hosting company Devteam Denmark that specializes in hosting and development of Fundanemt-based websites.
Inside This Book(Learn More)
Most Helpful Customer Reviews on Amazon.com (beta)
In the preface of the book it is stated that the intended audience of the book is intermediate to experienced Vim users and considering the subtitle "Ready-to-use hacks with solutions for common situations encountered by users of the Vim editor" I was lead to believe is a book for those that had been around block and need hands-on examples of production boosters. In my mind I expected it to be a kind of cookbook with small recipes for distinct problems. This is most likely because I have just read the excellent "PHP phrasebook" by Christian Wenz and "Python Phrasebook" by Brad Dayley which both does a great job in this genre of ready-to-use books oriented to more experienced users. The reason I find these books so great are that they acknowledge that the reader is intermediate to experienced and heads straight for the recipes leaving the basics behind. After having read "Having Vim 7.2' I am not as convinced that "Hacking Vim 7.2' succeeded as well in this genre as it dwells too much at the basics in my opinion, but I will return to this later.
A short review of the chapters
The first chapter starts of with a historical insight to Vim and while this can be interesting it seems a bit out of focus for this "ready-to-use hacks with solutions" book. I did not really feel very exited after having read this chapter, but luckily this was followed by the excellent second chapter "Personalizing Vim". This second chapter dives head first into actual Vim hacking with a bunch of well described small hacks to the standard setup including color highlighting, gvim menu hacking and font changing. This chapter definitely fulfilled my expectation to what this a book like this should be, despite the fact that it dealt a little more with the graphical gvim than I am interested in.
The third chapter is called "Better navigation" and while it contained some useful bits, it also went unnecessary details with very basic elements already covered by vimtutor, which I assume that all "intermediate to experienced" users would be familiar with. This is quite vivid in example 1: "Finding the next occurrences of a word" where a full page is used on describing the standard search function. The chapter does however cover most subjects to be expected in a navigation chapter, so for the users who are completely new to Vim navigation it is a good introduction, but it reminds more of a introductory textbook than a "ready-to-use- hacks" book.
Chapter four: "Production boosters" was the chapter I had been looking the most forward to reading after having seen the table of contents. The chapter contains a number of hacks that I found quite useful, such as a excellent walk through example of the usage of omnicompletion: The author goes into details with a real life scenario and uses a function written in vim to accomplish the text editing and I learn alot from reading it. Another example is the coverage of the netrw feature in Vim which enables editing files directly over ssh or ftp. Personally this is how I prefer a book like this to be - inspiring me to try out new hacks own my own.
The fifth chapter goes through formatting of both code and text in various ways and although it had some useful tips there wasn't really something I was very exited about. The sixth chapter about basic vim scripting was really surprisingly basic. The chapter is a very basic introduction to scripting and anyone with a background in any programming language would for instance not find the sections on "for loops" or "while loops" terrible interesting. At this point in the book I again got a bit confused about the intended audience: On one hand this is a great slow introduction to scripting and general programming, but when considering the subtitle of the book I would have expected a more direct approach with examples of useful scripts and tips to hack these.
The final and seventh chapter extends the scripting basics with what I believe was a more appropriate level for the claimed level of the reader. Here good practices and debugging of scripts is described, as wells as short descriptions on how to script in external languages such python, perl and ruby.
In line with the style of the first chapter appendix A does not really cover any ready-to-use hacks, but is instead more a list of what I would call fun-facts. I did not know that you could play Nibbles, Sokoban or Tetris inside Vim, but on the other hand I didn't really care either. The most interesting section in this appendix covered using Vim as an IDE (Integrated Development Environment), but most of the tips were quite shallow as they deferred actual usage instructions to online sources and scripts. The final appendix called "Vim configuration alternatives" is quite good, but should perhaps have been included in the second chapter as it is quite short, but very relevant.
My overall impression is that the layout leaves some room for improvement. Often examples start in the middle of the text and there is no typographical indicators showing that a example is starting. This makes the book hard to use as a reference, since I often look for the examples when I need implement a hack. Furthermore, there is a number of small tips boxes spread out through the book, but they do not have titles and this makes it more tedious to find that special box with the good tip without reading through them all. Finally the book is available both in a ebook and a printed version, but the printed book is in black and white, which makes the color screenshots on page 142 and the syntax highlighted script on page 193 a bit hard to comprehend.
As the reader might have figured by now I am not completely thrilled about this book. I think it at times misses the intended audience and prioritize some less important element of Vim on behalf of more ready-to-use hacks. I would have loved if the pages spent on games within Vim was instead used on covering Vim as an IDE in detail or perhaps skipping the very basic scripting elements in chapter six in favor of a section on the LaTeX-suite for Vim. In summary: I could have imagined this book be more concise, but I do appreciate the good chapters as "4. Production boosters" or "2. Personalizing Vim" - both have undoubtedly made me a better Vim user.
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.
If you use Vim only to edit text files when you happen to be logged into a CLI: mosey on along, this isn't the book for you. If you currently use Vim regularly and want to improve your knowledge and effectiveness with it: your time reading this book will be well-spent. If you've somehow never heard of Vim but are enraptured by the idea of a text editor that can be an effective IDE in addition to allowing you to play Tetris and Rubik's Cube: you might like this book too.
All in all this was a very useful treasure trove of tips. Some I've already added to my repertoire, and more I'm trying to understand better. In fact, I learned so much from it that I decided I will likely need to drop most of my current Vim config and remake it cleanly. I know I'm not alone in collecting bits and pieces of configuration for this wonderful editor, in a fashion occasionally reminiscent of a deranged hermit crab. Now that I have a more solid understanding I can rebuild it quickly and effectively.
For my full review, please visit my blog: [...]