Nathan Sobo recently open-sourced Zed, a code editor that focuses on performance, integrates AI capabilities, and supports software teams’ collaboration out of the box. For performance, Zed leverages a Rust code base, multicore- and GPU-optimized code, with a custom Rust GUI framework. For collaboration, Zed relies on CRDTs and team channels. Zed is currently Mac only.
Multiple cursors are a lot better than
:s
for you standard search and replace, unless you have a really big file at which point helix gets to slow (which isn’t that common) but there are a lot of other stuff you can do with ex commands.I use
:make
pretty often, vim ships with the ability to parse a lot of compiler/linter outputs out of the box so if you tell it which one with:compiler
you get build errors in the quickfix list. I also use:grep
a lot. You can do<space>/
to grep in helix but I often find that I want to add command line options to only search in specific directories or for specific file types (we have a large codebase at work). Being able to filter results with:Cfilter
, and being able to go back to old quickfix results with:colder
is also really nice. Finally, you can use:cdo
to apply ex commands to stuff you’ve matched in the quickfix list.As an example, if you get a build error because you’ve renamed a variable in one file but not the places it gets referenced in other files, you can
:make
to get the build errors in you quickfix list,:Cfilter
to narrow it down to only that specific class of error if needed and then do:cdo s/oldName/newName/g
to rename the variable in all places that cause errors. You can then go back to the list of all errors with:colder
and handle other errors in another way if needed.I’ll have to admit that I don’t do this that often so honestly I wouldn’t lose out on that much switching to helix (after it gets proper plugin support and someone makes a decent replacement for the fugitive git plugin) but I would feel less powerful not knowing that I have those tools up my sleave lol.
Those are some neat features. I hadn’t heard of them when I was using Vim. Parsing the compiler output to go straight to the error is very cool. I definitely think plugin support will bring a lot of people to Helix. I don’t currently have any features I’m waiting on, but I’m sure I’ll find some plugins to make it even better once they’re available.