I use Neovim btw
It took me an embarrisingly long time to write this blog post, but I did it all in Neovim, and that alone should mean something.
Seriously, I could’ve used any modern out-of-the-box text editor on my M1 Macbook Pro. Yet, I’m writing this on a plain black & white terminal screen.
If you’re unfamiliar with Neovim or what a terminal looks like, here is a screenshot of what I’m staring at as I type this.
I know what you’re thinking.
- Wow that looks so cool
- This guy knows what he’s doing
- I’d hire him in a heartbeat
And while all those things are true, the sad reality is using Neovim doesn’t automatically make me a 10x developer. At least, not yet. In fact, I feel like a complete beginner all over again.
So why am I doing this to myself? Why use a tool with a steep learning curve, that will 100% slow me down for an unknown amount of time till I get the hang of it?
Because it’s fun.
“You will find it more productive once you get good at it!” Nonesense. At least not for a while. For now, it’s just fun.
So fun that I’ve spent countless nights configuring autocomplete, just to watch it fail, only to spend more nights fixing it. But guess what?
I set it up. I put in the work.
And in doing so, I gained a little appreciation for how much effort goes into building a great and functional text editor.
Ok, this guy is unhinged
Yeah, maybe.
But if you’re still reading this, you probably get it. Neovim is a rabbit hole. It’s constant tweaking, optimizing and discovering new ways to move faster, write better, and flex on anyone who dares to use a mouse.
The Sunk Cost Fallacy (?)
At some point, I realized something: I chose this pain.
I’ve invested so many hours trying to make simple things happen. I’ve unintentionally deleted countless lines of code only to hit :undo
.
I’ve debugged my LSP server for hours, given up, shamefully opened GoLand… only to feel more shame, close it, then re-open Neovim to try again.
It is a vicious cycle of constant failure & needing to re-think everything you are doing.
At this point, most people would bail. I kept thinking to myself “Why am I doing this? What’s the point?” And yet, for some reason, I kept coming back. Not because I have to, but because I want to.
There’s something deeply satisfying about building your own workflow, making it yours, and knowing that no one else has the exact same setup as you.
I have a long way to go, but I’m yearning for the day I become one with my keyboard.
So, should you try Neovim?
Probably not.
I mean, unless you really want to spend hours setting up keybindings, configuring plugins, installing a package manager like Packer—only to realize that Packer is no longer maintained.. so you switch to a cool new package manager called Lazy, only to discover that in the grand scheme of things, it doesn’t really matter.
Yeah, you read that right.
Come at me nerds.
And just when you think you’re getting the hang of it, your world is shattered because you misconfigured one of your plugins, and now everytime you open Neovim, your screen screams at you.
But if that does sound like fun to you, if you like the idea of using a tool that forces you to learn, improve & challenge your ability to do even the most basic tasks, then go ahead. You’re gonna love it.
Just don’t ask me how to quit.