02 November, 2019
#vim #development #programming


A mechanic has his tools, a hammer, a wrench, anything that enables and simplifies his life.

A software developer needs tools as well, but his ones are digital, the developer tools built into a browser, a terminal shell, a version control system and many more.

One of those tools is the IDE(integrated development environment), that we use to write code. There is Atom, Visual Studio Code, PHPStorm, Sublime Text and others. Syntax highlighting, autocomplete, plugins and extensions are supported by most.

As soon as I started coding, I heard about Vim. A texteditor. Built for UNIX and released in 1991. This editor really is something special IMO. Vim can be used solely inside a terminal with a command-line-interface or with a GUI, ‘hiding’ most of its functionality behind keybindings and the willingness of its users to learn.

Long story short, since I’ve heard of VIM I wanted to use and master it.

It took two years of occasional use, giving up many times out of frustration, until I decided to take the time and learn to efficiently use VIM, really understand how it works under the hood, with its scripting language, its Plugins and mappings.

Vim uses a file called .vimrc which houses its configuration.

I am very content with what I have configured now. It sure was a hassle at times, but worth it. You can use different Plugin managers and split your file into smaller ones. But I don’t. Thanks to some ASCII Headers my vimrc is quite long at 297 lines.

Here, take a look:, I tried to add a comment to each entry, so it might help you out.

If you are a beginner, I emplore you to begin with an as empty as possible vimrc and build your way up, one line at a time. Write down everything that is missing from your current Vim config in comparison to any other IDE that you’ve already used. Search for the Vim way to achieve what you want. Once you really try it out, the keystrokes will go into your muscle-memory giving you a newfound speed and efficiency while coding.

But you will have to really want it. No shortcuts. Use Vim, read about it and practice. It definitely isn’t for everyone, and that is ok.

Now after a couple of months using Vim as my main IDE, I can say that I don’t want to go back and can see the benefits it provides.

Vim for me is more efficient, performant and customizable than any IDE I have used and with its portability, I will have my config up and running on almost any machine with a single git pull.

If you are also interested in Vim and want to find out more about it, here are some interesting links: