Vim as an IDE: Overview

Vim has been well-known as the beloved editor on UNIX-like systems for many years. It works great for quick editing or light-duty tasks. But can you use it as a fully functional IDE for daily projects? If so, does it make any sense today?

My conclusion is yes to both of the above questions. For most tech stacks, Vim can work as a fully functional IDE; Furthermore, it has a lot of advantages over GUI-based IDE.

And the followings are some reasons you could consider Vim as the IDE for your daily development.

Portability

Vim is pre-installed in almost every UNIX-like system. Even if it's not pre-installed, you could get it ready in no time. It's super portable without the need for "porting."

Performance

I'm not just talking about you could start Vim in less than 5 seconds, even with dozens of plugins installed. You'll understand the unbeatable experience when your memory runs below 100M.

Productivity

Typing on a keyboard is much faster than clicking a mouse for text editing. The philosophy of Vim's design is fabulous and works for most people's instincts out of the box. Once your fingers memorize the motions, you won't replace Vim with any other editor.

Extensibility

Vim's plugin mechanism gives it unlimited possibilities, including being a fully functional IDE for different scaled projects. You might not like the script language of Vim, and you don't have to touch it. There are tons of great plugins available. You could easily plug them in and focus on your projects.

Fun

Using Vim for editing is fun; customizing it to do things you dream of is another level of joy. I've tried almost all popular editors and IDEs for different tech stacks, but eventually, I either went back to Vim when possible or made them behave like Vim in some way when not possible.

Maybe you're not new to Vim but never thought it could replace the modern IDES. In the following parts, let's explore how to use Vim as an IDE for some specific tech stacks.