Noah Buscher

Zed Public Beta

Publish date
Read time5 minutes

I have been a dedicated Nova user for over three years. I switched over from VSCode after tiring of the slow performance and "uncanny valley" interface. I'm a sucker for a well-done native app, and Panic really hit the sweet spot with Nova: a beautiful, minimal editor that felt right at home on macOS. It was also extremely fast to boot, indexing files and rendering 50,000 LOC+ without even breaking a sweat on the M1 Pro.

Unfortunately, I've been looking for an alternative as of late due to the high frequency of Nova crashes and lack of updates from Panic. Still, the editor scene hasn't changed much from what it looked like half a decade ago, with a smattering of Electron apps, Coda/Nova, some stalwarts such as Sublime Text and TextMate, and, of course, the venerated Vim/Emacs/Neovim trio.

I'm not one to spend a lot of time messing around with my tooling; I just want whatever editor I use to have a shallow learning curve and be performant. Somehow, looking for a new editor last week, I came across Zed's tweet:

Zed is officially in public beta for macOS! We've been building Zed in Zed for a year now, and here's what we're loving most about it... 🧵

Since then, I've been playing around with and customizing the editor to see what living with a Rust-powered, minimal editor could look like.

Install & Setup

Zed was very simple to set up; after downloading the '.dmg,' I had an instance ready to code in a matter of seconds. That's instant points over terminal-based editors. I will note here that Zed is currently only available on macOS. Support for Linux and Windows, according to the team, is:

[...] planned, but it is not being prioritized in the short term.

Customizing the editor was also very straightforward. They have a default editor configuration that you can use, but I found it easier to open a custom settings file and see what was available via their beautiful autocomplete.

Zed's settings page with autocomplete open

There are a few things that I was surprised I wasn't able to customize yet, such as:

  • Setting the interface's font
  • Setting the interface's font size, independently of the editor
  • Enabling (or disabling) icons or colors for the file tree view
  • Allow hiding hidden files

Performance

This is where Zed really shines. Loading a package-lock.json with over 7500 lines is instantaneous—quite literally. Even Nova would take at least a few hundred ms to parse and color a blob of that size, however, Zed doesn't even flinch. There is also zero scroll lagging, autocomplete delays, etc. that I could notice in any of my testing. I'm not sure of the actual numbers, but in my initial testing, Zed felt like the fastest editor I've ever used.

That is to be expected, of course: the editor was written in Rust and, as stated in their docs, performance was a top concern while developing the app over the course of this past year. Put another way, VSCode is a 2000's Land Rover Discovery with tons of buttons and features, whereas Zed is a sleek McLaren F1 - minimal, extremely fast, and with three front seats. Why three front seats?

Multiplayer

Zed's big bet is on multiplayer. The editor comes with first-class support for real-time pairing, bundled right into the editor. By no means do you need to use the feature in order to derive a lot out of Zed, however, as more people hop on the Zed bullet train, I can see it becoming an integral part of many people's (and companies') workflows.

As stated by the team:

[Multiplayer] makes it easy to have nuanced, real-time conversations about any part of your codebase, whether the code in question was committed last year or hasn't yet been saved to disk.

VSCode does have Live Share, but it feels tacked on to the interface, whereas in Zed, pairing feels just like any other feature within the editor: seamless. It almost invites you to collaborate with your team.

Ecosystem

As Zed is still in public beta, there is surely a lot coming down the pipeline. For the time being, however, there were a few features I definitely missed from Nova:

  • No extension market (1st or 3rd party)
  • No way to add/edit themes (it comes pre-bundled with a number, however)
  • No dark/light mode based on system
  • Limited git integration
  • No markdown preview
  • Limited language support
  • No spellcheck

I could not find anything regarding Zed Industries' plan for supporting extensions (if there even is one), however, I hope they do allow for writing extensions with a scripting language such as JavaScript. Forcing developers to build in Rust may be good for performance, but in a world where everyone is building VSCode extensions, it will cripple the marketplace's offerings from the start.

Besides the aforementioned list, Zed really has most of the niceties I'm used to built right in. I have come across a few small bugs, which is to be expected at this stage of development, but none of which have detracted me from getting my work done.

Recap

Zed is a fantastic editor - it's eye-wateringly fast, extremely minimal (and beautiful), has a talented team behind it, and is a natural transition for anyone who has familiarity with both terminal and GUI-based editors. However, in a world that is dominated by the free, open-source VSCode, I am curious to see how Zed's extension ecosystem grows and what Zed Industries' plan is for monetizing their product.

For the time being, I have found the editor a pleasure to work with, and I will be using Zed as my daily driver moving forward. If you're tired of VSCode's large size, cluttered interface, and slow performance, I urge you to download Zed's beta and give it a try. I think you'll be pleasantly surprised.