My two cents about zed
Long time ago there were only two editor/IDE factions: vi and emacs. I’m not trying to start a holy war just here, so I leave it at mentioning both of them.
The next era was the discovery of (GUI-based) IDEs, XEmacs in front (but GNU emacs followed), eclipse, stuff like that. Late in that phase came Atom, which paved the way for what most programmers today are using (by my estimation at least), Visual Studio Code, or - like me - its not-so-intrusive cousin Codium.
Lately there have been some other editors stirring the pot, mainly because some people think they can’t code without AI, so they want an AI-first IDE. cursor is one of those IDEs, then there’s the payware stuff from JetBrains, which are frankly just very well made rehashes of eclipse (see above), and a plethora of others
One of the latest newcomers, and with very good reviews even before it was released for “the rest of us” was zed - “The editor for what’s next”. This here is my personal experience with it, and what I think of it.
To begin with, zed was written only with MacOS in mind. Which sucked for those many, many developers who use Linux or (yuck) Windows. I use Linux, so there was some waiting involved. But it wasn’t only waiting, there are other hoops and hurdles in getting zed running on your Linux box.
For starters, you need a somewhat recent accelerated video card with very recent drivers. I have a nVidia 1060M in my daily driver laptop, and it’s barely enough, but I had to install the arguably more unstable 575 drivers compared to the very stable 470 drivers I have been using the last two years or so. I’ll see how that works out, maybe I’ll have to downgrade again, because 550 was a really unstable version and 575 might be as well.
Then there’s the problem of finding a running executable. zed seems to have a somewhat strange, but mandatory architecture that reminds me of emacs with emacs-client, just with the difference that you have to run both the server and the client. It also has ridiculous requirements for running the server, my heart dropped when I saw a whole subsystem compiling for Postgres support. It’s a code editor, why does it need a scalable multinode database?
Ah, another thing, the code. Zed is written in Rust, and that’s fine if you never want to touch the code (unless you’re a Rust developer, which most of us aren’t and never want to be either). But Rust is quickly becoming the new Javascript, and I mean that in the supply chain dependency way. I compiled zed myself, from scratch, and besides installing stuff I didn’t want on my machine (so I did it manually instead) like rustup, the compile went somewhat fine. Ok, it took a long time. A very long time. Because for some reason zed includes nearly every Rust module available. Why? All I want is to edit some code, why do I need a webserver and support for five different databases? Ok, five might be lying, but that thing included more than 800 crates (as modules are called in Rust), and that is at least 700 too many in my opinion.
And then came the moment of starting it. What? A project file? I just started it, I don’t have a project file! Ok, somewhere deep in the menu (which they hid behind the most idiotic spot on a full HD monitor, behind a hamburger menu!) there was what I used to use in codium, “Open Folder”. And the next problem began, because that file dialog didn’t want to work. Don’t invent new stuff when there are perfectly working standard ways of doing things. Why not exchange a few hundred crates in your build process with GTK/GDK and use the standard file dialog from there, like eg. codium and vscode? Sheesh.
And that was only the beginning. Sometimes zed didn’t even want to have my keystrokes, and ignored me completely. Sometimes when I started it, it was just hanging in the background without opening its window (well, I use a tiling window manager like any sane person, but you know what I mean), all while using 100% CPU and not logging anything anywhere. Yes, I know it has a log, but it was empty.
So, based on all of that I have to give zed a hard pass. It may be fast and cool and new and whatever, but for me it just doesn’t work. It may be because I’m still using X11 and not Wayland, it may be because I’m using Arch (ok, Manjaro, but same same), it may even be because I’m a big dumbass. But if I can’t get it working properly after investing two days of time (on and off), which developer will? So for me it’s back to vscode, or rather codium, because Microsoft is doing the same AI dance as every other IDE/editor seems to do these days. I just want to edit my code, and do it efficiently, Intellisense highlighting, tab-completion and info about function parameters is as far as I’ll go in that direction. After my experience with several coding AIs and Pascal, I’m not doing that again for a long time, I value my own time so much.
So, TL;DR: zed is still quite unusable for daily coding. Use something else. It’s just not there, it isn’t as fast as promised, there are major design errors and the installation is horrible.