The VIM Experience

For the Vim crowd, my .vimrc file is available on Github.

I got introduced to Vim 7 years ago. Getting started with Vim was a challenge. I think it was a typical experience: Vim has a steep learning curve and requires lots of customization to hit that nice spot. There is even a cost to start typing actual text. As I’ve never been introduced to a Vim-like model, my intuition for a text editor is to just start typing. When you opt for a new experience to increase your productivity, it is hard to be convinced to hit a key to start typing. It seemed counter-intuitive.

That made me bail of Vim multiple times. But I always had the inklings to give it another shot. I think a part of it is “jealousy”. Seeing other developers wrangling code in unusual ways, I wanted to have that kind of power. Also, carpal tunnel syndrome is real and I needed to relieve my hands of constant switching.

It is fair to say now that I’m comfortable enough with Vim. Vim was a game changer and had a significant impact on my productivity. I can see that the time spent on configuration and customization has been paying off dividends.

I rely heavily on Vim and though I made it sound like it is all roses; I do have some frustration. The editor has some considerable shortcomings; especially if you are expecting an IDE-like experience. The process of augmenting Vim to be able to support proper code formatting is rather expensive. That’s something you get by default in most of the IDEs out there.

The most annoying of these were:

Lately, I’ve been diving into Rust. So my Vim configuration has been getting accommodated accordingly. It makes this configuration a bit biased, though you can make use of the keyboard shortcuts and other goodies.

Pictures #

Here is a sneak peek of Vim in action.

Image 1: Splitting and switching windows.

Gif Image 1

Image 2: Alternate between NerdTree and TagBar.


Image 3: Easymotion to navigate through text.


Image 4: Autocompletion for Rust.


Shortcuts #

Some of the custom shortcuts I added to Vim.

Plugins #

This is not an exhaustive list, but these are some Vim plugins that I’m relying on.

What’s next? #

I don’t think my Vim setup is anywhere close to maturity.