A fantastic resource for diving into the world of Vim. This book has helped me get comfortable moving around in Vim and adopting the Vim way. The main block for me going into Vim was I knew it's power but felt a disconnect when trying to 'think like Vim'.
The book isn't a front to back read, although the more complex uses of Vim occur to the back of the book. It largely reads as a reference, with different uses of Vim in different situations being clearly explained and demonstrated.
Drew uses a notation that is explained in the introductory sections that means you are able to focus on leaning to think like Vim in the approach to a problem without getting stumped by the features you're using.
Once you have ran through Vimtutor (Which you should have) you can dip in and out of the book or read a bit each day. Doing that I managed to keep a steady stream of 'eureka!' moments and avoiding common pit falls. Common pitfalls being learning to do what you need and then never seek to improve and using common navigation commands without thinking if there would be a more efficient gesture to use. I fell that abandoning the basic movement keys in my first month with Vim will have only served me well in the future. Learning a habit of routinely asking myself "Is this the best way to do this?"
My only other advice would be to use Vim as much as you can whilst learning. The things you will learn from the book stick a lot better when you have solved a problem in your day to day use with Vim.
I've skimmed the more complex subjects and although too much for me at this point they appear as clearly laid out as the material I have been putting into practice.
I have been using Vim for 10 years and still learnt a lot from this book. It's not an introductory book. If you're new to Vim, type vimtutor at the command line and follow the tutorial. After a few months of using Vim, reading this book should be very useful.
The book intentionally stays focused on out-of-the-box Vim features. There are a few side notes about third-party plugins, just so you know they exist, but what you learn in this book you'll be able to apply on any instance of Vim. It doesn't say a lot about Vim Script either, instead it focuses on interactive usage. This book does one thing and it does it well.
This book doesn't just introduce Vim features, which would be pretty useless since Vim documentation is already good at that. Instead it shows you how to use those features efficiently with a good mix of theory and practice. It explains the logic and the intention behind each feature and it presents quite realistic examples based on editing code or prose. One thing that surprised me is that even off-line reading (for example on the train) proved quite fruitful. Of course just reading off-line didn't make me memorize the details of the commands but it was enough to remember the intention and usage patterns. Then, back at work, I was usually able to just use Vim doc to find out the execution details of the patterns that I was introduced to by the book.
The author's tone is very casual, without being silly. I remember laughing at loud at a couple of his jokes. It's a very pleasant and relaxing read.
If I had one tiny complain it would be that sometimes there are references to other sections of the book using page numbers when those sections actually happen to be on the next page or even on the same page. So I found myself going like "let's see what on that page 42 he's talking about... oh, I'm on page 42 already!", which is a bit odd. I suppose that's not the author's fault though, but rather an editor constraint.
The way that the book is structured, by lessons, makes it really enjoyable to read. Plus it is very well written in an informal and enjoyable fashion. It turned me from a curious about vim to a regular vim user. I definitely recommended it and recommended already to everyone wanting to seriously learn vim.
I think the other reviews have said everything. This is THE book to learn how to use vim correctly. Instead of going through every feature one by one it takes an approach of dissecting different situations. Really, this is the right way to do it! Amazing.
The best thing you can say about the book is that it changes the way you approach Vim. Your head goes "click" and you start t rethink and finally understand some of the principles that make Vim a great text editor, but are completely different from everything else.
I think is a must have for everyone using Vim as their main editor, and very interesting to anyone wanting to know most of that weird-but-extremelly-powerful piece of software.
I think the book, anyway, is probably not addressed for the novice, as it assumes some knowledge of the tool.
Practical Vim is not just the best Vim book I've read, it is also one of the best tech books I've read to date. I know that sounds like hyperbole, but let me explain. Like Tim Pope says in the foreword, I was initially skeptical about the recipe format. I wanted to have a book that took me step-by-step from vim noob to vim master. I wanted it to ramp me up rather than have me dotting about from pro-tip to pro-tip. The thing is that Practical Vim _does_ ramp you up, but it also has the added benefit that it's really easy to go back and find something later on. Puzzled as to why the dot command isn't doing what you expect? Jump back to the recipes for that. Not reached the chapter on search yet but want to know how to do a global replace? Jump forward to that section. Want to build up a solid understanding of how vim works? Follow the book chapter by chapter.
The other great thing about the book is that it doesn't just teach you how to do things in vim; rather it teaches you how vim does things. Instead of being a phrasebook that gives you common snippets to remember, it teaches you how the sentence structure works, the idioms and colloquialisms. In other words it gives you deep knowledge that helps you think like an experienced vim user. It gives you the tools to extrapolate from the given recipes to things not covered by the book.
It has left me wishing that more tech books were written in this format.