Trying out Zed
The other day in a chat about text editors (you know, the most important thing to anyone who spends a lot of time at a computer) someone recommended Zed and I figured I’d try it out. So this blog post is the first thing I’m writing in it.
My editor of choice for the past 10 years or so has been Sublime Text, although I’ve stayed with version 3 since I didn’t like some of the changes made in 4 (more in terms of features than in terms of licensing structure, although the latter was also a disincentive towards upgrading). At a glance, Zed looks like it’s a bit better in general.
So here’s some ramblings as I get acquainted with it.
Out of the box it’s got a pretty okay basic configuration. I immediately went to customize the font (Cascadia Code) and color theme, although none of the built-in themes are quite to my liking. Hopefully there’s a way of converting Sublime Text themes to it. They’re all just JSON files with a bunch of hex codes so that should at least be possible.
I don’t like that it defaults to having soft wrapping disabled, but it was easy enough to enable (by setting "soft_wrap" to "editor_width").
I definitely appreciate how the buffer font is separate from the UI font, and that setting the fonts is also relatively easy. I do wish there were more GUI-based settings controls (color theme seems to be the only thing that has anything approaching a GUI) but it’s easy enough to edit the config file anyway.
The JSON completion stuff is nice. I haven’t tried the other code completion, because it looks like its only choices are GenAI bullshit which I don’t care for.
It looks like there’s built-in settings sync that goes through GitHub. I haven’t tried it on multiple computers yet but I hope it’s way less painful to setup than Sublime Text’s (which involves a lot of symlink shenanigans).
UPDATE: If there is settings sync I’m not sure how to make it actually happen. Unfortunately, the symlink-to-a-synced-folder approach that Sublime Text uses doesn’t work either, so for now I’m just storing my .config/zed directory in a git repo. Sigh.
Extension management is also a lot nicer so far than Sublime Text; like VSCode it automatically detects things that you might want to install extensions for.
By default there’s an inline git blame overlay but that’s easy enough to turn off. You can also turn on a full sidebar view for it, which is a lot more useful IMO (at least in situations where you want that functionality to begin with). It doesn’t look like the toggle persists in settings by default, but it’s easy enough to change that.
The automatic bracket insertion works differently than Sublime Text (it seems to only automatically close the top-level pair) but frankly I’m fine with that, as automatic anything insertion tends to bug me more than it helps with things.
One thing I’m unsure about whether I prefer or not is creating a new file requires you to provide a filename up front, whereas Sublime gives you an “untitled” buffer and only prompts you for a name when you first save it. Having a filename to begin with means you already know what type of file it is so it has the right syntax highlighting to begin with. But sometimes when I’m writing a blog entry I don’t know what I want to name the file at first. But it’s like, whatever, y'know?
Sublime Text has a little command line helper called subl that you can use to launch the editor from the command line. Zed calls its tool cli instead. I guess doing
ln -sf /Applications/Zed.app/Contents/MacOS/cli ~/bin/subl
is all I need to do to defeat the Sublime Text startup muscle memory. There’s also an “install CLI” command which seems to just do
ln /Applications/Zed.app/Contents/MacOS/cli /usr/local/bin/zed
Responsiveness feels about the same between Zed and Sublime. Their marketing materials claim that Zed’s got less latency but Sublime’s already at the point where I don’t notice what little there is, except for when it’s having a moment and trying to run a script that’s just getting in the way of things.
Also one HUGE feature which I always wished for in Sublime Text, which Zed has: renaming a file externally to the editor will also rename it in the editor! This makes my blogging workflow way the heck easier.
So yeah, I’m liking it and I’ll probably switch to it on all my computers. Well, my Linux and macOS machines. It looks like Windows isn’t super straightforward just yet, but I also hardly ever edit text on Windows and when I do, Sublime Text is still fine.