Of course. They support LSP, which is what provides code completion in VSCode. There’s also Copilot and other AI tools available (though I recommend caution).
I am ambivalent about whether it’s helpful or distracting. Completion guesses wrong a lot of the time and for me it interrupts any hope of getting into a flow state…for a language I barely know, that’s fine because I’m not going to ever be in the zone.
Neovim requires plugins for various “IDE” features, zed has them by default and can download the necessary LSPs and such when you load files in a given language. For Neovim, you probably want to start with a preconfigured bundle of packages, like Lazyvim. For more advanced use (and for when you get tired of the annoyances in whatever starter config you use, because everybody has different ideas about what’s good, Lazyvim reconfigures some keys I habitually use for their original vim mearning, which is awful), you’d want to build up your own config. TJ DeVries makes very good Neovim videos, like this one: https://www.youtube.com/watch?v=m8C0Cq9Uv9o
I’m still waffling on whether to switch to zed (in vim mode) for my other development (I mean, not TypeScript development…stuff where I know the language and how to use it, like Python or Perl). It has some annoyances, like being quite interrupt-y (completions, an errors page that updates in realtime, AI and chat windows, all sorts of stuff that kinda has no place in an editor, at least not when I know what I’m doing), but being faster than Neovim, at least with the plugins I use, is impressive.
The main reason I’ve never been able to break away from vim is because my workflow is in the shell…I cd
to my project directory and type vi somefile
and the editor is instantly there. Every “modern” editor, including zed, requires me to open another window and load the file there, and it probably has a whole “project” concept, etc. That’s IDE stuff that I find distracting and overwhelming, if I’m having to mouse around, I’m annoyed. But, a big part of the friction of most IDEs is slow start. zed starts wicked fast. So, it’s almost comparable to vim, it’s just a new window and I can’t use it remotely, which is another pain point, since I do so much development on devices that are remote.
Er, actually, I checked, because the “remote” problem is a big one, and it seems I can use zed remotely, too. Looks a lot more complicated than just sshing in and typing vi
, though. And, given how much memory zed uses, I don’t know that I can even use it on the smallish devices I normally work on. Remote Development - Zed