Vim From Scratch

Learn Vim and upgrade your productivity to the next level by building an IDE of your dreams.

Vim For Developers Book Cover

I've been using Vim for more than seven years now, and it still amazes me every single day. It's lightweight, it's extensible, and it's amazingly productive.

It would be nice if more people would use Vim, as it's such an excellent tool that makes you feel like a superman.

The problem is that out of the box, Vim is not too impressive (compared to the modern IDEs), so a newbie has to spend some time setting it up properly.

So that's why I wrote this book that focuses on the configuration from the very first chapter. In this book, you will not only learn how to use Vim, but what's much more important — how to adjust it to your own needs.

Me - the book's author

Three principles behind this book

  • Focus on building a configuration that will work for you
  • Less theory, only the essentials things that make you efficient at your work
  • Productive from Chapter 1

What else?

  • Vast selection of modern plugins described with pros and cons
  • Based on NeoVim - the most advanced and stable version of Vim
  • A robust full-featured IDE by the end of the book
  • Learn not only Vim but also some Unix tools and you can use them with Vim

Who is this book for?

This book is mostly for people who would like to try Vim out but also can't afford wasting time and want to be productive from day one. On the other hand, the experienced users could also find some interesting plugins and approaches for the modern development.

How is it different from the other books out there?

This book is explicitly focused on building a working IDE-like environment on top of the Vim. So that means configuring and adding essential plugins from the start. Vim theory is also covered to a great extent, but it is rather secondary to the main plot and it unravels as we go towards our eventual goal.

What Vim version is used?

We are using the NeoVim which is the most modern and fast Vim implementation out there. But it is pretty much compatible with Vim 8+ (the difference is mostly in the inner implementation and some default configuration values). Most of what you'll learn can be also applied to any other Vim version out there.