Zed, AI in editors, and where did all the feature development go?
Published 4 months agoMy experience using the Zed editor, why I'm struggling to adopt it as my full-time editor, and what I love about it.
I started this post after seeing that Zed bring up customer feedback in their all-hands, and thought I'd chime in with my opinions.
Recently, I've been hopping editors a lot. From Neovim to Cursor to Zed to Helix to one of the many JetBrains IDEs (side-note, what does the IDEA in IntelliJ actually stand for?) to VSCode.
I've been trying to find the one that feels right for me. For the longest time, that has been (Neo)Vim, or VSCode. Then the AI editors came along, and as what felt like every developer on earth jumped onto Cursor, so did I. For the most part I just continued to use it as VSCode just with better auto-complete, but after a few months I switched back to Neovim.
It's not that I dislike Neovim. In fact I really like it. But I feel like a lot of potential is lost by it restricting itself to a measly 188x52 grid on my 1920x1080 monitor. Of course that is a little like comparing apple slices to apples, but I hope the point comes across. I've used Vim in some form or another for around 10 years, and it's so second nature I really struggle to adapt to other keymaps. Helix, for instance, I wanted to love, but erasing the muscle memory was very hard. There were other reasons for not landing on that one as well, but that was definitely one of the driving factors.
Sometimes I use Neovim, tile it to one side of the screen and shuffle around the windows a bit and all of a sudden my file browser is twice the size it started as. Or I open the debugger and close it, and the file browser takes up the space that the debugger used to. Stuff like that. Now, I use LazyVim, and I'm aware of the fact that it's a "skill issue", but I sadly don't have time or motivation to wrangle configuration files anymore. I for the most part want it to just work. I don't mind setting up a keymap that matches my preferences, but stuff like that I'd prefer not having to deal with.

Now, however, it seems like a lot of the products which once used to be going full force forward adding new features, have pivoted to implementing AI features. I assume this is because of the fact that that is what the masses (or the investors) want, and acknowledge that I might be a minority here — not caring about AI in my editor.
This brings this, rather unstructured, blog post to Zed, which I have big hopes for.
I remember trying Zed back when it released to mixed reviews due to some privacy concerns, and was really disappointed. I could see potential in it, but without a debugger, limited extension support (I think?), and just a lack of features compared to VSCode at the time, I went back to either VSCode or Neovim.
This year though, I've ended up using it quite a bit. It's really fast, which doesn't seem that important until you try it and realize it's actually quite nice. It should be said though, that I haven't been able to use it for a large SvelteKit project at work. As opposed to VSCode, Zed would just stop giving completions all-together. I assume VSCode have some pretty hefty optimizations they've accumulated over the years to deal with stuff like this. You can also disable the automatic AI completion, and even, and here's the kicker for me, set
"edit_predictions": {
"mode": "subtle"
}To only make the edit prediction (AI autocomplete) show up when I hold down Option which I find to be the nicest solution to AI autocomplete I've found yet. I can have it out of the way 90% of the time, but every once in a while I'll use it to write some quick boilerplate.
There are some things I really do miss though; a test browser, and more non-AI smartness. By test browser I mean this:

It's really a pain not having it. It makes me write more tests, and makes me run them more often.
By non-AI smartness I'm really just looking at the JetBrains tools. Like for Golang, being able to generate template code for a struct + interface, or other "smart features" really make them differentiate themselves from the rest.
Seeing these two things land in Zed I think I would be happy to use it as my daily driver.
Ah, and better Vim support. More Vim plugins like sneak so I could make it feel like I'm in Neovim, but with a nicer and faster UI. I know they already have support for some, but I'm stilling missing some. They already have quite good Vim mode support in the sense that the keymapping is very flexible, but it's just that little bit of friction which reminds me I'm not in Neovim.
I know this post was a little chaotic, but I wanted to just dump my thoughts on editors here. Maybe I'll write a little more in-depth in the future.