Updated VIM Setup

Michael Sharpe
6 min readDec 23, 2020

I learned vi in 1991 at university. I kind of immediately took to it, likely because I had messed around a lot with the DOS edlin.exe. The vi editor was so super powerful in comparison. At the time, Vim did not exist or was not popular. A few years later, Elvis and Vim started becoming popular. I played with Elvis for a while; I think it had syntax highlighting first. But Vim soon became more popular, so I switched to that. I have never really looked back.

I think it was in the early 2000s that Vimscript was born. I was doing a lot of C/C++ programming then, and I ended up writing a small script called a.vim, which switches between the source .c file and the corresponding header .h file. In the years since I played with many other scripts which others published. I never really got into the Vim package managers, so my VIM setup was pretty much a collection of fragments of published scripts and that I had written. Fast forward to yesterday, and basically, it was a mess imploding on itself. Everything worked; it was just all fragile and disorganized.

Today, I decided to start from scratch, toss out almost everything and build a set of config files that are clean, lean, and organized. Thankfully Vim now has a built-in package manager, and most published scripts are actually in git. It is a simple matter of forking/cloning the repos to install Vim packages now, making it super easy to contribute back possibly.

I was super surprised by how smoothly everything went. The latest versions of all the packages I installed, some of which I used from years ago, are now remarkably stable. I did not have to tweak any of the packages I am using; in fact, I spent most of my time dealing with fonts and terminal emulators.


I primarily work in three environments, Windows 10, macOS, and Linux. One of the primary reasons I use Vim is because it works everywhere. In the 1990s I worked on a product that was ported to every Unix flavor, mainframe systems, windows, OS/2, you name it, we ported it there. Vim was the only common editor. Well, vi was the common editor, but we managed to get Vim compiled and installed everywhere.

The greatest difficulty I had with cleaning up my Vim config was color support in the various environments where I develop. Some terminals supported 24-bit color, others only 256 colors or worse. I ended up settling on the new Windows Terminal for Windows 10. On macOS, I was using the built-in terminal app but…



Michael Sharpe

Senior Software Architect located in Houston, Texas