Why I Left Neovim

I'm moving away from Neovim. I've used it for a while now and I loved it, heck, I even made plugins and a theme for Neovim. It's just that Neovim became a hassle, even when I got my own setup and plugins and customized it to my liking, I never once felt like I was getting work done any faster than if I was using a traditional IDE. So why bother continuously tinkering if I was going to get marginal, or no improvements in my work productivity.

I'm not trying to downplay Neovim by any means, I think it's a great tool for developers who find it useful, and especially those who have mastered the terminal workflow, but people need to understand that Neovim isn't for everyone. You don't automatically become a 10x developer once you switch just because people online told you to. Some people might find it useful right away and stick with it, others might need to tinker with it a bunch to get accustomed to it, and some may not like it at all. It took a while for me to realize Neovim isn't for me. I was trapped under the illusion that it was the only way to go in terms of boosting productivity, when in reality, productivity depends more on your habits as a person than the software you use to edit code.

Why Zed?

While I was initially going to just go back to VS Code, I realized there's other competitors -- notably Zed Editor. Built in Rust from the ground up, Zed felt fast, sleek, lightweight, while covering everything I needed from a modern editor. It sounded great, so I installed it and tested it. Just using Zed felt like a breath of fresh air. It was amazing and had the familiar structure of VS Code but everything was faster and more polished. Everything just worked, LSPs, themes, extensions, terminal, as well as the agent. This is it. This is the editor I'll stick with.

What stood out the most about Zed to me, was the lack of friction. In Neovim, I needed to set up multiple different plugins for me to code comfortably, and it was sometimes janky. In Zed, I could just open up a project, and get working right away. No need to fiddle around with any plugins.

Everything from the startup time, to the autocomplete, to the built-in terminal just works. My workflow became much smoother and I ended up being more productive than if I was still using Neovim.

And for those who also want to switch from Neovim, but are afraid they'll miss the vim bindings, don't worry, Zed supports vim keybindings natively! (they work great!)

Lessons from Neovim

Even if I'm moving away from Neovim, I still greatly appreciate all the time I've spent coding in Neovim. It's taught me a lot. It made me more intentional about how I navigate and edit code, and it made me more curious and open-minded as a developer. If I didn't see a solution, I made my own, and it made me better at Lua (to a certain extent). I also had plenty of fun making plugins and my own colorscheme. I don't regret using Neovim at all, but at this point in time, Zed feels like the better tool for me. Maybe i'll return to Neovim someday.