When I first started programming, I looked online for the best text editor. Vim and Emacs were the top picks. I didn’t love the keybinds of emacs and couldn’t figure out how to exit the program, which is kind of ironic as it’s a common vim trope. I stuck with Vim and forced myself to do all my school work in it.
The Early Days
In 2014, using Vim felt like piloting a retro spaceship. I was in school, coding mostly in Java, so I used Eclipse with Vim mode for Java and pure Vim for everything else. I didn’t even use any plugins in these days, though I did have a minimal vimrc
Switching to JavaScript
In 2018, I shifted to writing mostly JavaScript / TypeScript and jumped back into raw Vim, leaving Eclipse behind. I started messing around with my config a lot more here.
Trying Visual Studio Code
By 2020, I gave Visual Studio Code a try. Its features like fuzzy finding and LSP integration were great, but it felt slow, and I missed my split windows. With that said, I didn’t want to live without these features. So I enhanced my Vim with the coc plugin and CtrlP, blending Vim’s efficiency with modern editor perks.
Discovering Neovim
Then I found theprimeagen and tjdevries on YouTube, both Neovim enthusiasts. Neovim’s Lua configuration was tempting since I had used Lua before and didn’t like Vimscript. I tried pre-configured distros like AstroVim and LunarVim but found them too different from Vim’s defaults.
My Neovim Journey
I moved my .vimrc to Neovim, avoiding Lua at first. Eventually, I dove into Lua and fancy plugins, but my initial setup was unstable. TJ’s kickstart.nvim provided a stable base, but updating it was a hassle.
Enter LazyVim
In 2022, the lazy package manager (successor to Packer) promised stability with lockfiles. Transitioning to LazyVim, built on this manager, was a game-changer. I had to adjust some plugins and defaults, but it resulted in a robust, self-updating setup.
Current Setup
A year with LazyVim has given me a stable and efficient development environment. My editor updates itself effortlessly, allowing me to focus on coding. It’s been a wild ride from stock Vim to LazyVim, and though I’m happy now, I’m sure I’ll keep tweaking it.