from Hacker News

Trying out Zed after more than a decade of Vim/Neovim

by siddhant on 1/24/25, 9:53 PM with 149 comments

  • by eviks on 1/25/25, 3:15 AM

    > all the configuration that goes into it before I can use it to start writing code.

    Yes, this is awful and something the default should've changed years ago instead of continuing this massive collective time waste. But presumably after 15 years you've configured almost everything you need? At least to the point of matching a static config file?

    > Lua is great, but one JSON file is even better.

    No way, it's a strict downgrade, you can have a simple lua table exactly matching json things, but then should you decide to do anything dynamic/complicated (which at one point even included formatting as Zed broke your config format on changes), you're stuck with json with no way out

    > Installing plugins means updating them, which inevitably breaks things.

    No it doesn't, just pin the version you the one that works for you and ignore the future? Or do you need that extra functionality from the updates? But then does Zed without a plugin even have this functionality?

    But also Zed does plan to have plugins, so this won't be different?

  • by st3fan on 1/24/25, 11:02 PM

    > my workflow consists of switching back and forth between a terminal window and an editor window.

    Same! I run neovim in tmux together with stuff I hack on. I switch beteen tmux windows with shift-arrows and it works so well. I run this full screen in Ghostty. No distractions.

    I try Zed and VSCode and I always come back to this setup. It works so well for me personally.

  • by bioneuralnet on 1/24/25, 11:57 PM

    Zed is the only GUI editor I've used as my daily driver after 15+ years of development (hardcore vim fan). Vim Mode is wonderful, the terminal pane works well, UI is butter-smooth, LSP integration beats VS Code's IMHO, and the LLM-powered autocomplete works well (haven't tried chat/generation). Nice themes, too.

    The lack of debugger support will put some off, but I bet they'll get to it someday. It's already progressed so much in the four or five months I've used it (esp. Vim Mode).

  • by dismalaf on 1/25/25, 2:27 AM

    Zed seems nice, but the fact it wants you to sign in, wants you to connect to Github, wants you to sign a CLA, etc..., isn't what I want in an editor. I'm perfectly content with Neovim/Lazyvim, especially the fact that you definitely know there won't ever be a rug pull or weird monetisation scheme.

    Edit - also, as far as config goes, "distros" solve this. LazyVim is everything I want in an editor and more, with zero config. Installing LSPs and plugins is super easy, arguably even easier than with editors like VSCode or Zed.

  • by __MatrixMan__ on 1/25/25, 2:32 AM

    Just last week some hero claimed to be adding helix keybindings to zed (https://github.com/zed-industries/zed/issues/4642#issuecomme...).

    Golly I hope they succeed.

  • by evaneykelen on 1/25/25, 7:22 AM

    I've recently switched from SublimeText to Zed and I like it so far, mainly because it's noticeably faster at all UI touch points (typing, searching, pane switching). I mainly use it to work on a Rails codebase. I set up a bunch of snippets to have the same keyboard shortcuts offered by Sublime to insert ERB instructions. I managed to get rubocop to perform in-editor validations, same for eslint however "format on save" with eslint continues to fail (it either writes an empty file or it ignores my eslint config and falls back to its internal settings). I haven't used its code completion features since my use of AI to assist with coding happens outside of an IDE (yes, I will try to change that).
  • by ivanjermakov on 1/25/25, 12:26 AM

    > Lua is great, but one JSON file is even better

    I will never understand how you go back from a very customized editor setup to the one with "reasonable defaults with little to no things to configure".

    Great talk on this topic by TJ: Personal Development Environment: https://youtu.be/QMVIJhC9Veg

  • by lowboy on 1/25/25, 12:58 AM

    Zed has the least uncanny valley of any vim emulation that I've tried.

    Switching is not feasible for me until they get mini.surround[0] and Flash.nvim[1], particularly Flash's treesitter mode (see screenshot of [1] to get an idea).

    They work particularly well together to select semantically meaningful chunks of code and add/remove/change surrounding parens/braces/curlies/etc.

    0: https://github.com/echasnovski/mini.surround

    1: https://github.com/folke/flash.nvim

  • by TheJuli on 1/24/25, 11:00 PM

    I tried and I really liked so I considered a switch but: - It's missing debugging capabilities. They have it in their pipeline, but, as it stands, not for production use if you do not want to develop with debug prints all the time. - The font rendering still needs some polishing. On a non retina display using a dark mode in mac the fonts are pretty blurry in comparison to vscode, and I had to use a medium weight for the editor font for improved readability.
  • by toisanji on 1/24/25, 11:08 PM

    I use cursor and vim now. I have been on vim for 15+ years. Are there LLM extensions that make vim work like all these new AI editors? I would prefer to stay in 100% vim world, but the productivity benefits from LLMs with composer mode and context is so powerful.
  • by bsnnkv on 1/24/25, 11:09 PM

    I've been daily driving Zed on Windows (building from source) for maybe 2 months now and I'm pretty happy. It's a nice middle-ground between editing single files in NeoVim and bringing up a JetBrains IDE for an incredibly complex project.

    I think the only thing that is really outstanding for Windows is SSH support.

    Everything largely "just works" and my experience getting a plugin with syntax highlighting working and merged for a DSL I maintain was very smooth.

  • by Aeolun on 1/25/25, 1:44 AM

    The only thing I want for Zed is context aware LLM suggestions, then I can drop Cursor entirely. It’s just that their Composer mode is so good.

    Adding individual files in Zed feels so cluncky by comparison.

  • by cbisnett on 1/24/25, 11:08 PM

    I’ve been using Sublime Text for more than a decade and I gave Zed a try recently. I don’t have good reasons like the author, but I kinda wanted to see what the hype was about.

    I really liked everything about it including the much better LSP support and the base key map for Sublime Text was very close so I felt at home quickly.

    Then I tried actually writing code in my usual workflow and this is where things started to fall apart. I’ve been writing in Ruby for almost 10 years now and when I type things like `def<tab>` I’m used to Sublime filling in the snippet and allowing me to quickly enter and tab through the components. Same for a bunch of really common Ruby concepts like blocks. I found this to be very limited and even though I created custom snippets they never would render with the correct indentation. I think the Ruby language extension just needs some additional work and probably doesn’t get much attention. For me I didn’t have time to figure it out and contribute so I went back to Sublime Text.

    I will definitely continue to play with Zed and see if it gets better because of the native AI integration. I’m not an AI fanboi and I usually avoid it, but being able to supply the open and existing files as context when asking the assistant to generate things like tests performed much better with context than without and were much closer to how we write and format tests.

  • by davmar on 1/25/25, 12:39 AM

    >I love (Neo)Vim. Like I wrote earlier, it's been my primary editor for the past 15 years. What I don't love is all the configuration that goes into it before I can use it to start writing code.

    this resonates with me. i've spent so much time configuring neovim in the terminal (kitty) and i've never had everything work 100% of the time. simple things just like seeing an entire typescript error are challenging to get working. those errors just continue on one line outside of the screen.

    with LLM's the tradeoff tipped in the favor of cursor with the neovim extension.

    > 2. It just works

    so i switched to cursor last week from neovim in the terminal and this is how i feel. but, i'm not going to invest more time to check out Zed now that i just got cursor set up the way i like it.

    but it's great to see all the progress in IDE's lately.

  • by deagle50 on 1/25/25, 12:15 AM

    I wanted to like Zed but tying buffers to tabs is a deal breaker for me. They have really good vim motion support but don't let you view any buffer in any pane.
  • by roland35 on 1/25/25, 2:13 AM

    I don't understand the the configuration argument against neovim! In my opinion there are a few good choices:

    - none or very minimal config

    - install lazyvim or other tool

    Then you're done! The option is still there if you really like tweaking things, but I really enjoy the out of the box experience with lazyvim.

  • by ajxs on 1/25/25, 7:45 AM

    I gave Zed a try, and it seems great! The only problem is that I can't seem to get GPU acceleration working on my laptop (Thinkpad x220 running Debian), which negates the performance benefit Zed has over other editors. I know I'm in a slim minority of people with this problem, but I can't be alone. Ordinarily I use vscode on my desktop in my dayjob, and vim on my Thinkpad if I'm on the move. Using vim over vscode extends the battery life by hours. Thinking out loud: How much will using a laptop's GPU for rendering impact the battery usage? Often I need to be able to get at least a few hours usage out of my laptop between charges when traveling.
  • by sapiogram on 1/24/25, 10:53 PM

    I just hope they're able to fix their font rendering, it looks like crap on 100% DPI scaling.
  • by kadutskyi on 1/25/25, 2:29 AM

    > Just works

    Probably JetBrains is best in class. How much config you need in Zed to get productive with e.g. PHP dev vs install PhpStorm?

    I think there is a spectrum of tools where Neovim requires more customization and JetBrains is the most Just-Works. Everything else in between doesn't just work and requires customization in their opinionated way.

    > Why Zed?

    > 1. Vim mode

    Out of all non-vim editors with Vim mode JetBrains is again has the best integration via IdeaVim.

    > 2. It just works

    Do I need to install extension and configure them?

    > 3. JSON Configuration

    Comparing JSON vs Lua Table I can't see any benefits. Most configs in Neovim I just copy pasted from the GitHub repo and changed couple things.

    > 4. Configuration autocomplete If you need a good autocomplete for a config file you probably spending too much time on your config.

    > 5. Native LLM integration

    Nice

    > 6. Fast!

    Nice

  • by dxuh on 1/25/25, 11:59 AM

    I think Zed is very close to being amazing, but it might be premature. Just recently I think they fixed a bug where undo broke somehow when you pasted something? I could never quite reproduce it, but I ran into it a couple times a week. You still can't specify indentation settings per-file, which I consider essential. For some reason the GPU acceleration is very fast on computers with good hardware, but very slow on bad hardware. I get that it's current year, but a text editor should run well on a T480 imho. Frequently Zed just starts up and shows some of the other windows. I.e. it just renders like another existing Firefox window and I can't do anything to fix it, but restart. Yesterday multiple Zed windows all just showed my login screen (when I was already logged in). And a very recent problem is that Zed will just not format certain files. I think they switched to formatting via the language server by default? It will just format some files like it's supposed to and other (seemingly randomly chosen) files will just result in an error that tells me it could not format the file.

    I have been using Zed for a few months now and I think it's better than anything else, but not good (yet). I feel like it's still young enough that the number of problems is not just decreasing, but there seem to be new problems regularly.

  • by VWWHFSfQ on 1/24/25, 11:06 PM

    The tab completion for the AI suggestions is 100% the most annoying feature I've ever used. I just want to indent my line and not have to keep hitting escape 1000 times. Awful.
  • by rcarmo on 1/24/25, 11:37 PM

    No syntax highlighting for LISP or Scheme, so... It's fun, but not something I can use right now.
  • by kenanfyi on 1/25/25, 10:12 AM

    Long time Vim users are also organized human beings in life most of the time. This constant discussion over what editor to use always boils down to this point IMO.

    Having a config file and trying to keep it healthy over the years requires such mindset. It might eventually break because you got sick of it, but there are thousands of parameters to that problem. Are you a plugin freak, are you trying to change every single default keybinding, do you try new things, which terminal emulator you like, what about FOMO…

    I had an on and off relationship with Zed, because in the beginning there were some bugs and many things were missing, but they are adding and fixing a lot of things and at the current state I use it more than Neovim although I have a relatively maintenance-free config. I always liked Vim/Neovim because I had shitty computers throughout my life and using a snappy terminal interface to write was always easier than using a chunky editor. But nowadays things have changed and Zed is extremely fast too, so this advantage of snappiness is unrelated now. Plus the design is minimal and well-thought, which I always appreciate. Next to VSCode Bloat, I find it extremely easy to look at.

    My dream was to have Vim motions by default in every single piece of software like editors, browsers, PDF readers and even Finder. What Vim changed is the motions and the way you interact with the computer and this does not need to be exclusive to terminal interpreters anymore, so I appreciate the effort of editor developers to shift the paradigm to using what Vim invented. Zed does it good and I hope they eventually reach to a state, where I can completely switch.

  • by scottyeager on 1/25/25, 3:51 AM

    There's a funny dynamic here I just came to appreciate. A perfect use case for AI is writing config file code (relatively simple stuff with lots of examples in the training data). Zed has replaced VSCode as my GUI editor, but I still use Neovim in the terminal. The "just works" aspect of Zed is nice, but I could see myself maybe opening my Neovim config with it one day to use the AI features to tune something up. Well, maybe I'd actually use Aider, but it's a fun thought anyway.

    It makes me wonder if highly configurable software plus AI can be combined for an outcome that "just works" while also being highly personalized. One thing that kind of surprised me about Zed is that the AI assistant isn't very good, in my experience, at answering questions about how to configure Zed. Models have their cutoff date, of course, but this seems like low hanging fruit for some context injection based on keywords. An editor feature that can help me quickly implement my preference choice and get back to work without a visit to the docs would be truly adding value.

  • by ilrwbwrkhv on 1/25/25, 2:32 AM

    The Zed editor is great. The AI integration is still quite wonky. The autocomplete through Supermaven for example, makes it hard to see the text clearly and I constantly have to hit escape to see the existing normal text.

    The /workflow command which was there earlier is also removed now, so you have to copy paste code which sucks.

  • by Kim_Bruning on 1/24/25, 11:02 PM

    Zed doesn't run in terminal, sadly.

    That's the one reason I actually did end up using vim, even if Gui editors are theoretically highly superior.

    It's always there in the terminal with me. So you know how it goes, you set up $awesome_ide on a separate screen or what have you; start messing in the terminal, and then for quick edits you grab vim anyway. And once you have the whole edit/test/edit/test loop going, well, vim is still there. And hours later you find out the whole IDE has just been sitting there the whole time.

    So yeah, I'm not married to vim I don't think. A nicer terminal editor would always be welcome? And if it has vi(m) bindings to ease me into it? Who knows.

  • by JOnAgain on 1/25/25, 12:51 AM

    > It's only been a day since I really started using Zed instead of Neovim

    Please update in 1 year

  • by alp1n3_eth on 1/25/25, 9:47 PM

    I just did the same switch for the same reasons, except I was a newbie to Neovim. The Vim keybindings and way it "handles things" is amazing, but the Neovim-powered bridge to getting it to be a full IDE with bulletproof config and extension support was a PITA out of the box.

    Generally I want things to "just work" and if there's extra fancy settings I'm happy to learn them later / slowly as a I go through it. Minor updates to plugins in Neovim would break things, a lot of the error output was next to useless, and I spent waaaaaay too much time debugging what was wrong.

    I switched to Zed w/ Vim keybindings and it's a perfect balance.

  • by zorked on 1/24/25, 11:20 PM

    I'm using Zed too. It is VS Code-ish but feels fast, works out of the box and feels just... right. I wish it had support for Jupyter notebooks, but it looks like it will get there.

    And it never crashed on me, unlike VSCode which reminds me of Windows 3.1.

  • by generalenvelope on 1/25/25, 12:58 PM

    I haven't seen anybody mention NvChad, which is a popular pre-configured neovim setup with lots of documentation (and a community of support). You're still free to customize, but it saves a TON of time in terms of getting to the foundational editor features.

    https://github.com/NvChad/NvChad

    The author mentions switching from editor to terminal often - NvChad has built in terminal integration so you can toggle floating/vertical/horizontal terminals (whose contents persist when closed) with a simple keybind.

  • by sigmonsays on 1/24/25, 11:01 PM

    i'm fairly surprised that i fired it up, wrote some go code, and the lsp worked.

    I too am growing tired of tinkering and want minimal configs. So much so that I had to force myself to stop using doom emacs in favor of neovim. Neovim setup is much simpler now that lua exists but i'd rather not tinker as much as I do.

    Enabling/Disabling plugins is fun in a way when you wanna take the time to do that.

    I might give zed a spin a few more times.

    Can zed be run from a terminal over ssh or is it just GUI?

  • by b_fiive on 1/25/25, 12:57 AM

    I switched recently from vscode, and it's now my daily driver. I mainly edit rust & typescript, experience has been great. I did need two critical keybindings for toggling the terminal: https://gist.github.com/b5/8a03cee3cf6321ee65ffcb28899c4362 , and documentation was a little thin on how to set it up
  • by gloosx on 1/25/25, 7:29 AM

    >my workflow consists of switching back and forth between a terminal window and an editor window

    You can open as many terminal buffers in neovim as you'd like, AND at the same time you can open as many neovims in terminals as you'd like...

    Why choosing GUI neovim client and switching back and forth? Truly don't understand it

  • by oneeyedpigeon on 1/25/25, 8:15 AM

    I love Zed. Maybe the only problem I've encountered:

    - have a couple of windows open, each showing a different directory

    - in one, open a file from it's directory, not by locating it in the file tree, but via the open dialog

    - file opens in the other window

    I get that my second step is 'wrong' but this behaviour is still annoying and feels buggy.

  • by mirawelner on 1/25/25, 12:39 AM

    I switched from VSCode to Zed and I’m a huge fan! They don’t have support for Jupyter notebooks yet so I have to use Spyder for those but I love how easily Zed runs and how configurable it is.

    Also half my workspaces are on remote servers and Zed lets me switch between remote and local workspaces easy which I appreciate.

  • by desireco42 on 1/25/25, 12:40 AM

    I thought you can't pry Neovim and iTerm from my hands... then I tried around same time both Zed and Warp terminal.

    I switched just to keep things interesting and didn't go back. That was last year maybe Sep/Oct.

    I had to use VSCode to collaborate and like it in general.

  • by dmix on 1/25/25, 12:48 AM

    > LLMs are happening, whether we like it or not.

    I tried one of those AI IDEs for the first time today and I was pretty shocked how good it was even though I’ve used ChatGPT forever. They are going to be standard like git soon. Paid for by your companies

  • by ramon156 on 1/25/25, 11:28 AM

    I've tried both VSC's and JetBrains's (god don't remind me), and they were all a bit mediocre. Especially Jetbrain's felt like a gross overlap that no one tested out.

    I'll give Zed's vim-mode a try, great post!

  • by imbnwa on 1/25/25, 2:50 AM

    You can literally do all of this in Neovim. Just use a distribution if you wanna outsource config (Astro, Lazy, etc), which is what Zed is. I use LLM in my Neovim, I get autocomplete in my config.
  • by ryanmcbride on 1/25/25, 5:05 AM

    I watched the video and was about to install just to see there's no windows installer. I'll try building from source at some point but kinda took the wind out of my sails
  • by zero0529 on 1/24/25, 11:19 PM

    Zen feels so fast on my old intel MacBook it is crazy! I will move entirely to zed from vscode when they implement dynamic port forwarding in their SSH mode ( I feel like it is close )
  • by ciupicri on 1/25/25, 5:59 AM

    It must be something with my old graphics card (Intel HD 4000) or X because Zed is kind of slow for me, it even stutters or something. gvim on the other hand works fine.
  • by nikolay on 1/25/25, 12:10 AM

    Zed is great! I used it exclusively for Advent of Code in Go this year and I was marvelous!
  • by rpmisms on 1/24/25, 11:38 PM

    I love Zed, I just need Statamic Antlers support and haven't bothered to write it yet.
  • by boomskats on 1/25/25, 12:50 AM

    I really like zed, but without DAP support it's just not as useful as nvim or vscode.
  • by kussenverboten on 1/25/25, 12:32 AM

    Zed supports both vim and emacs key bindings. Blazing fast too
  • by affinepplan on 1/24/25, 11:24 PM

    unfortunately I can't use Zed until they support REPL on remote connections (or remote Jupyter)
  • by macawfish on 1/25/25, 12:13 AM

    Zed is the jam
  • by nickfixit on 1/25/25, 3:17 AM

    More blah.
  • by gigatexal on 1/24/25, 11:44 PM

    Biggest dealbreaker for me using Zed is that it’s not a TUI but a full on GUI app. I might as well just use VSCode with vim bindings at that point.