Discovering the Zed IDE: An Overview
Table of contents
What is Zed?
Zed is a new kid on the block in the IDE business but seems to be causing some people to talk about it.
From the first look, it appears to be focusing on blazing speed (just like everything with Rust) and shareability.
While the speed is evident, what does "shareability" mean? The Zed development team frequently promotes this feature - the capability to share projects with your peers by inviting them to a live session. In this session, you can track each other's cursors and engage in pair programming or any other text editing tasks together.
UI
This is one thing I am pretty fond of - their UI is very, very, I mean very minimal. I come to like this kind of thing lately, and for this - UI is very attractive.
And this is their default UI theme. What's not to like? Taking my hat off here. But if you think this is too grim for you, you can treat yourself to any other theme, that comes baked into Zed.
Worth noting, whenever you scroll the Theme from the selection - it immediately applies to the entire editor, giving you a good preview.
Sweet, what's next?
Speed
I mean goddaymn, this seems to be fast. I smell Rust all over it. Even the fact that you can preview the theme on the fly just by going Up and Down on the Theme picker - says a lot about the snappiness of the editor.
However, I also think that the fact that there are no plugins (in my current setup) installed plays a huge factor - nothing blocks the main boot process, no additional operations happen when I open files etc. It's just Rust window and LSP (Language Server Protocol)
User Experience
Well, this one is very very subjective, and I review it from a point of a "lazy and stubborn user" (which I might relate to) so take it with a handful spoon of salt.
First of all, I love their command palette. It's just visually appealing, and snappy (both points above) and seems to be aiming for a variety of options to choose from. Even some Vim commands. However, when I tried to use one of those options, such as vim: quotes
, Zed died on me instantly.
I don't even know what this command was supposed to do and was curious to use it. However, after restarting it, it does not crash anymore, nor does it do anything.
Anyway, using something a bit more "traditional" brings the desired result, and does it so fast.
Some things appear to be working out of the box, which is the most important thing IMHO when it comes to IDE, such as LSP.
But I do wonder, if someone will ever be able to focus on TypeScript errors formatting and offer this on a native level, rather than some extension/plugin.
This is not against Zed, but I would be very excited to see this handled one day.
What about Vim?
It claims that it supports Vim and it appears to be in the very early stage, but from what I saw - I was able to use only basic operations/navigations through the document, but having to move from Neovim, I was practically a "turtle" when it comes to navigation. A big chunk of functionality is just not there, or it's not clear how to "enable" it. I.e. navigating from the opening bracket to the closing bracket Shift + 5
or Jumping on empty lines - Cmd + Shift + { / }
. So while you can edit words in Vim mode, you can't do much more than that, just yet.
Overall
I am excited about it, mainly because of the simplicity, elegance and speed that it brings to the game, but being an avid Vim user, the IDE is not usable to me at least at this stage. I would be curious to see what others think of it, especially users of VSCode, Fleet, WebStorm etc, but if you are used to some plugins heavy activity, where you have tons of different plugins doing the heavy lifting for you, this might not be your poison. But do give it a try!
Subscribe to my newsletter
Read articles from Oleg Gulevskyy directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Oleg Gulevskyy
Oleg Gulevskyy
Full stack aficionado, passionate about making tech simpler, faster, and enjoyable. Sharing the love with open source and spreading the knowledge ! ๐๐๐๐