When Drew mentioned that he’s planning to write a book I already knew that I will buy it. Now, after almost two years, book is close to be released, but for impatient guys like me there is beta release available for some time.
So… I placed the order, read carefully and now the only thing I can do is to say that you probably should do the same.
Before I started reading I considered myself an intermediate Vim user. I’m comfortable with vim motions, I spent hundreds of hours polishing my .vim config, I thought that I know most of builtin options and key bindings. So, when I checked the Table of Contents, I was surprised and anxious. Modes? Navigating? Patterns? Is it book for complete novices? Thanks God, that I stopped blasphemy, and put my trust in Neil.
Practical Vim: Edit Text at the Speed of Thought is a book divided into series of tips. Each tip describes some kind of everyday problem and a way to solve it. Some kind of problems author resolves in more than one way. Most of the problems start from the basic “novice way”, then going smoothly to improved, experts solution. Sometimes he explains that some ways are better for a specific context (e.g. huge block of text) or another (small chunk of text).
What’s best is that Drew is a great teacher - after reading some tips I _facepalm_ed myself and shouted “why I don’t do things this way”, other times I was shocked and whispered “oh… can I really do that?!”. And soon my fingers were eager to test new knowledge in practice.
So, what exactly I learnt from Drew Neil? Here are some examples:
How (and why) to use a very powerful dot command
In insert mode I can do much, much more than just type
I finally understood differences of vim regexp
Slightly improved my knowledge about text objects
…and much more
Do you need a preview of hot stuff? Check my protip on coderwall. It’s just tip of the iceberg of what you will learn from the Practical Vim book.
For whom is this book? Not novices and not real experts either, I think. The book is great for people who are not terrified with hjkl motions, who uses vim in their everyday work, but feel that they still have gaps in their knowledge about this powerful tool. But for real novice it would be probably a level too high in many places - learning vim is a long process, especially when you are migrating from tools like eclipse, textmate or another “classical” editor. But even then, time spent on reading this book wouldn’t be lost - at least your subconsciousness will remember some useful tips and you will avoid many mistakes.
Real world experts will be probably bored - I think that they are already familiar with all the aspects mentioned in Practical Vim. At least, they can find out if they are real experts. I failed this test, and I’m glad that I’ve already filled a lot of gaps.