I'm writing a new book: Modern Vim

I’m very happy to announce that I’m writing a new book. My working title is Modern Vim. It’s a sequel to Practical Vim, and will be published by the Pragmatic Bookshelf.

Why “Modern Vim”?

Some will scoff at the name Modern Vim. Practical Vim is an oxymoron” they said. Bring on the jokes, I say!

Version 8.0 of Vim was released in September 2016 with new features such as packages and job control. These features have little impact on Vim’s core, but they empower plugin authors to do things that were previously impossible. In Modern Vim, I’ll consider Vim 8 as a requirement. Many of the tips will cover plugins that use these cool new features.

I’m also going to devote about a third of this book to Neovim. I’ve been using Neovim for over a year now and I like it a lot. Neovim comes with a built-in terminal emulator, which has transformed my workflow. I hope that the Neovim features will be appealing enough to make you want to try it out. The best bit is that all of the tips written for Vim 8 will also work in Neovim.

As Vim and Neovim continue to grow and adapt, I’ll be revising Modern Vim to keep it fresh.

Who is the book for?

Broadly speaking, there are two types of Vim users: those who use it for convenience, because Vim is ubiquitous (casual users); and those who invest time in customising their editor to be their development environment (serious users). Practical Vim appealed to both of these types of users. Modern Vim will mainly appeal to the serious users. (That’s you!)

This book will get you up to speed with what’s new in version 8 of Vim. You’ll find out how to install plugins using the built-in packages feature. Some tasks that used to block the editor can now be performed asynchronously, allowing you to continue using Vim while they run in the background. This gives a better user experience when doing things like linting, grepping, building a project, or running a test suite.

If you enjoy using tmux and Vim together, then I think you’re going to love Neovim’s terminal emulator. Being able to treat a terminal buffer just like any other buffer was a game changer for me. The terminal buffers fit naturally with Vim’s split windows, and you can use Normal mode commands to scroll, search, copy, and paste. On top of all that: Neovim’s terminal buffers are scriptable.

Format and publishing schedule

Practical Vim was written in the style of a recipe book, made up of 120 self-contained tips. This format worked really well and I’ll be adopting the same style for the sequel. I’m aiming to write 20-30 tips for the first edition of Modern Vim.

It took me 18 months to write Practical Vim. I now have a family to support, so I don’t have that kind of time anymore! I hope to have Modern Vim finished in 6 months. PragProg estimate that the book will be published in January 2018.


Level-up your Vim


Boost your productivity with a Vim training class. Join a public class, or book a private session for your team.

Drew hosted a private Vim session for the shopify team that was one of the best workshops I have ever attended.

John Duff, Director of Engineering at Shopify


Make yourself a faster and more efficient developer with the help of these publications, including Practical Vim (Pragmatic Bookshelf 2012), which has over 50 five-star reviews on Amazon.

After reading it, I've switched to vim as my default editor on a daily basis with no regrets. ★★★★★

Javier Collado

Learn to use Vim efficiently in your Ruby projects

In association with thoughtbot, one of the most well respected Rails consultancies in the world, I've produced a series of screencasts on how to make navigating your Ruby projects with Vim ultra-efficient. Along the way, you’ll also learn how to make Ruby blocks a first-class text object in Vim. This lets you edit Ruby code at a higher level of abstraction. Available to buy from thoughtbot..