Software & Apps

Testing ZED after a decade of vim / neovim

I am currently drafting this blog post Zed. After using Vim / Neovim for over 15 years, I recently decided to try something new. I don’t know if this little experiment will work, or if I’ll run back to my trusty neovim, but hey, what I know I want to know.

Why try anything else?

Why? If you’ve been using a certain tool for that long, why (try to) switch to something else? Everyone has their own reasons. I have two.

1. The desire to use something that just works

Lately, I’ve been getting into “just work” stuff.

I like (neo) vim. As I wrote before, this has been my main 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.

When I first started using vim (in 2009!), my configuration was quite small .vimrc file given to me by my internship supervisor at that time. I don’t know what it does, but it works. Over time, as I felt the need to adjust things, I .vimrc
Started compiling more and more code copied from Stackeoverflow that I didn’t understand.

At one point Neovim came out, and with it, the ability to configure things using Lua. This is a big step, because I understand best what I am conforting.

Either way, it’s still the configuration. What has changed how that configuration is created. The combination of configuring the base editor and installing a bunch of plugins (and making sure they play nice with each other) isn’t really something I want to spend my time on, going forward.

A recent example highlights this problem: my workflow consists of switching back and forth between a terminal window and an editor window. At any given time, there are many projects open to both. On Macos, it’s hard to find a solution that “just works”. The most popular Neovim Gui clients on Macos include Vimr and Neoovswhich are both excellent projects. However, does not support multiple windowswhich is essential to my work function and therefore I need to implement workaroundswhich actually broke last week after i went for a run :PackerUpdate. And while Vimr supports multiple windows, it unable to provide NVIM-Tree imageswhich is not very good. 🤷🏻♂️

2. deep and native participation in LLM

LLMS are happening, whether we like it or not. And no, the fact that they are not 100% correct all the time is not a reason to reject them completely. I understand why some people don’t want to use it. And I respect that. I personally find them useful and want to incorporate them into my daily routine.

Neovim Ecosystem has a set of plugins for use with LLMS. But as I wrote in the previous section, I like to avoid plugins if possible. Installing plugins means updating them, which inevitably breaks things.

An example where I find LLMS useful when coding is handling boilerplate stuff. In my current Neovim setup, I have the The extensionium extension installed, which offers code suggestions that are like an autocomplete on steroids. Usually, I can write a function name and what parameters it expects, and llm writes the function for me. This is especially helpful for writing small functions or test cases.

I want to be able to do more things with my editor. I’m not entirely sold on the idea of ​​agent editors, as much as I’d like to continue a The will of the Code is coming, but that is a different topic.

Another example where I find LLMS useful: I am not a native English speaker and often struggle to find the right sentence framing to match. LLMS is great! I can scribble my initial thoughts, drop them into an llm and have it reframe the whole thing, which is great!

Often, it feels like the way we write code changes with the introduction of this more powerful tool, and I want to move with the times.

Why ZED?

So yes, those are the two reasons why I’m looking to try something else. What did I do for zed?

1. Vim mode

Yep, that’s literally the first reason. After using vim for 15 years, my fingers have built up enough muscle memory to not use vim keybindings when writing code is impossible.

Zed’s Vim mode surprisingly strong! Until now, I feel at home. Almost all vim keybindings I use work as expected. One or two bindings that don’t work, something I can deal with with my fingers. Everything works fine. It is the same duplicating their vim mode
Support to 2025, which is a good sign!

2. It just works

If you are burning ZED, the editor is fully functional without having to write a configuration line. That’s amazing. The editor may prompt you periodically and then install support for specific languages. But that’s usually just a click of a button.

3. JSON Configuration

Lua is fine, but a JSON file is better. Zed uses Json as the syntax checker and it works better so far.

4. Configure AutoComplate

I had no idea I needed it until I got it!

While editing the ZED Configuration File, I found it very helpful how the editor suggested configuration keys and their potential values. This feature felt like thinking when I first saw it and I can imagine that it is a long way to get new users to speed up.

5. Native Llm Integration

I know some people are turned off by it, but I like this part.

ZED has a feature called assistant, which is a tool that, well, helps you, using a large model in the language of your choice. Some popular LLM providers are supported. Once installed, you can open the assistant panel to work with the language model you have chosen. For example, it’s easy to type questions into the panel window and then paste text from your open file buffer into it to provide more context. There’s more to this feature that I haven’t used yet, but I’ll probably do more as I use it.

Overall, the integration feels very native and very useful.

6. fast!

Last but certainly not least is speed! ZED kindness fast. Everything feels very restrained, and it’s clear that the team put a lot of effort into making everything easy.

Finally

It’s only been a day since I actually started using ZED instead of neovim as my daily driver. And so far the experience has been good.

As I wrote before, this is an experiment. We’ll see how things go. That said even the first impression kindness good.

2025-01-25 00:53:00

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button