How Vim Changed the Way I Code: A Developer's Configuration Journey
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.