I’ve been using Neovim for years. It’s fast, extensible, and there’s a plugin for everything. But lately (actually, for quite a while now), I’ve been experimenting with Zed, and I have some thoughts.


Why Zed caught my attention 馃ぉ

Zed is fast. Like, really fast. But so is Neovim, so that’s not the selling point.

What made me curious:

  • Simpler config - No more debugging why a plugin broke after an update
  • Great vim emulation - Actually usable, not an afterthought
  • Built-in features - Remote dev via SSH, REPL integration, debugging - all just work
  • AI integration - Native, not bolted on through five different plugins
  • Collaborative coding - Finally, pair programming without screen sharing lag

The development pace is impressive. New releases with meaningful content every week. And it’s open source.


Where Zed falls short (for now) 馃ゲ

Moving from Neovim, there are gaps. Some are Zed-specific issues, others are missing plugin equivalents.

Dealbreakers for some:

  • No persistent undo history - Close a buffer, lose your undo history
  • Fuzzy finder lacks power - Not Telescope-level yet, but there’s a promising PR
  • Terminal is tied to the editor - New instance = lost terminal session. Not ideal for long-running processes

Missing Neovim goodies:

  • flash.nvim - Quick navigation is part of my muscle memory
  • dial.nvim - Incrementing true to false with <C-a> is surprisingly useful
  • cmp-calc / cmp-path - Calculator and path completion in the completion menu
  • TODO comment highlighting
  • Some language-specific plugins are better maintained in Neovim

Polish needed:

  • Git conflict resolution could be better
  • No undo for file deletions
  • Image previews don’t work in terminal apps like yazi
  • No recent project search command
  • Project search could use prefiltering (ctrl+g) and current directory scope
  • Jupyter notebook integration would be nice

The good news? Zed’s team ships fixes fast. Issues that annoyed me before are already resolved: window resize with keyboard, terminal splits, completion menu scrolling, diff view, slow Neovim in Zed terminal, and vim marks as bookmarks.


The real problem with Neovim 馃挃

It’s not Neovim itself. It’s the ecosystem.

The LazyVim distribution is great, but you’re at the mercy of individual plugin authors. Sometimes, for example, folke disappears for months - and he alone maintains the majority of plugins that most modern Neovim configurations depend on. One person maintaining critical infrastructure is a single point of failure. This is absolutely no shame on folke - he’s doing amazing work for free - but this is just how open source works.

Plugin updates break things. You spend time maintaining your config instead of actually coding. Debugging and task running still feel like second-class citizens compared to IDEs.

Some pain points that IDEs handle better:

  • Debugging experience
  • Collaborative coding
  • UI flexibility (terminal constraints are real)
  • Long-term maintenance by dedicated teams vs. solo maintainers

My verdict 馃摂

Both are great. Both are fast. Both are open source.

Zed is easier to use and maintain. Neovim is more powerful and customizable.

For now, I’m using both. Doing quick edits still feels easier in Neovim. Zed when I want to spend a bigger chunk of time on a codebase. I try to keep my LazyVim and Zed keymaps similar, so I don’t have to think too much about which editor I’m using.

The best editor is the one that gets out of your way. Sometimes that’s Neovim. Sometimes it’s Zed.

For my configurations, check out: