How Vim Changed the Way I Code: A Developer's Configuration Journey

How Vim Changed the Way I Code: A Developer's Configuration Journey

Published:

Everything started with the memes on the internet, like “I use VIM btw,” a statement often used to express a sense of superiority over other developers. I’ve always been a bit different, so I decided to take a closer look.

VS Code for VIM

There were many recommendations to first get familiar with VIM motions, so I installed a VIM extension for VS Code. In the beginning, I felt like an old man who didn’t know his way around. I had a Vim motions cheat sheet open on a second monitor just to get anything done. Over and over, I had to disable the extension to be productive in my work.

On the Brink of Giving Up

I lasted three weeks; I could jump between lines and had the basics down. But I kept falling back into old habits, especially in critical moments, like when I was in a session with a coworker or when I was sharing my screen with others.

All or Nothing

I didn’t want to lose all the hard work I had put into VIM. So, I took it a step further and installed Neovim. I configured it with the help of a YouTube video, which also gave me my first exposure to Lua. Configuring Neovim taught me a lot; suddenly, I became even more interested in customizing my development setup to fit my preferences.

Diving Deeper

As I continued to explore Neovim, other tools came into view, like TMUX, for example. TMUX is a terminal multiplexer, meaning I can create multiple sessions, windows, and panels within a single terminal and switch between them using shortcuts.

No Looking Back

Everything began with Vim motions, but over time, it became much more. Today, I have my terminal perfectly tailored to my needs and desires. Oh My Zsh for my ZSH configuration with various plugins like zsh auto-suggestions or syntax highlighting. TMUX as a multiplexer to quickly jump between projects, Neovim with various plugins to replace an IDE. I feel much more productive, and more importantly, coding is much more fun now.

Do You Need All This?

The clear answer is no. You can be very productive with a simple setup. All this configuring doesn’t make you a better developer. But I think it’s much more fun to dive into these topics.