33 comments

[ 15.5 ms ] story [ 54.3 ms ] thread
I still prefer Neovim but I'm glad to see Helix getting some love recently. Hopefully it continues to do well.

Last I checked they still don't have a plugin system., I bet they'll see a jump in popularity when that gets going.

Interesting. What happens when you open a file in the yazi pop-up? Does it create a buffer in Helix?
I've recently been on a little side quest to rebuild my editor configurations (20 year Emacs user, 15 year Vim user—in parallel with Emacs because I can't seem to pick a favorite). The goal is to see how quickly I can get to a daily-driving complete setup for enterprise-grade software work largely in Python. My goal for the rebuild is to see how much I can drop as far as reliance on third-party extensions and still have the functionality that I need (or which makes me unreasonably more productive).

My Neovim configuration[0] is currently the best it's been IMO, but I ended up having a few more plugins than I thought I would need.

I am earlier along in my Emacs rebuild, but what is really interesting to me is that there are a lot of improvements in modern versions of Emacs (30+) that dramatically reduce my dependence on third party plug-ins. Eglot has been fantastic for me, as a former long-time lsp-mode user. Completion preview mode is not quite a replacement for corfu, but it's pretty darn good and only going to get better.

So far my list of must have plug-ins for Emacs:

- Magit - Expreg (teeesitter expand region) - Multiple cursors - dape (debugging in coordination with Eglot)

Thinking I will probably end up adding Consult + orderless, too, as that is a search/navigation superpower.

[0] https://github.com/wilkystyle/nvim

edit to add nvim repo link

Not a diss but even after spending O(months) do you think it's as good as what you get with Pycharm + IdeaVIM out of the box?

Of course, there are other reasons to build your own configuration but I found purely from "IDE as means to an end" perspective getting into Neovim rabbit hole is a bit of waste of a time

I'm very interested in reports of 10+ year users of Emacs, how do Helix/Vim compare? I understand reports from zero-to-Helix/Vim users that they're good, but I don't believe they truly understand how great Emacs is unless they really use it for a long time.

But because Vim-like keys and modes seem to be so much better integrated in all other editors these days (no good Emacs mode in VSCode for example), seems like it won, and it'll soon be time to accept that.

But every time I tried – I never had enough patience to use it until my fingers have the memory, and didn't see the point enough to keep smashing the editor.

So, very interested in reports of actual hardcore Emacs users about the switch.

> Expreg (teeesitter expand region)

reminds me of combobulate (which i haven't tried but think looks cool) but sounds much more light/limited

BTW it's crazy how good Claude Code is at emacs configuration, and in fact elisp writing in general.

I also switched from lsp-mode to eglot and it's better. Less fragile.

For people who use helix and want a TUI, why choose this over neovim? I like the defaults in helix until I don't, and then have to change stuff.

For people who use helix and want the full IDE experience, why not Zed, or maye even VSC/JetBraind IDE (come to think of it, how's fleet doing?).

If i need something simple I fall back to nvim, and if I'm missing features I sometimes boot up WebStorm (or if a colleague wants to navigate through something)

1. hx is fast to start, and fast to use, it looks pretty too 2. the defaults are pretty good, i added a few bits and bobs, but customizing hx is not a way of life for me. emacs and neovim had me stuck in endless improvement loops... 3. tui works great on remote servers, it is nice to have the same setup on my mac, linux, and server. sure other editors does that too but also hx. 4. i got all the lsp i need. arguably getting my languages.toml setup was more fiddly than I wanted. In practice I found getting the setup right on other editors also was a bit of a chrore though.
Interesting that every time Helix comes up, someone just has to mention Neovim. You never see Emacs or Helix users do that the other way around. Almost as if they’re personally offended.
Vin/Neovim is one of the most popular editors in the world, Emacs and Helix are far from that.
Jeez, do you know what projection is?
> Interesting that every time Helix comes up, someone just has to mention Neovim.

that apparently includes helix's creators, considering neovim is mentioned both on its website and in its repository's readme

I'm an Emacs -> VS Code -> Helix convert, have enjoyed using it thus far. I've tried to internalize all the existing keybindings and use thus far rather than configuring it much ( I've wanted to have the least amount of config necessary to be effective with it )

One thing I've struggled with is simply remembering everything it can do. I made a Desktop Mat[0] to help remind me ( literally just finished it so will see how helpful it is when the printed version arrives ).

[0] https://git.sr.ht/~netshade/helix-deskmat

For how long have you been using Emacs before?
Still haven't found a way to delete the current line in Helix (even if the current line is blank; "xd" will delete the current non-empty line, but will delete two lines if the current line is empty).
I'm really not well experience in Vim vs Helix, but could one say that Helix is more like if Vim was in visual mode by default, and stayed in it even after an action?

And so, could (Neo)Vim be configured to work more like Helix?

See helix.vim on GitHub
I've been using emacs for the last 10 years or so (used Sublime Text before that). I use vim as well from time to time for quick file edits here and there or on remote servers and thought it's fine for that purpose, but I didn't really see the need to use vim exclusively. I'm pretty well settled on emacs now and have my own carefully written modules and functions to get the right setup for me.

I tried helix last month and was immediately hit by how simple it is to get started. It still doesn't come naturally to me, but I managed to quickly get used to the basics: jumping around code, search, yanking/pasting stuff, and switching buffers and windows. I have no idea about its history, but Helix is a very well designed piece of software. Global search is particularly nice, lsp integration just works, it's also exceptionally fast. It feels very nice and comfortable when a software has sane, coherent, and actually-helpful defaults.

I'm definitley going to keep using it and getting myself more accustomed to this way of editing, I will keep emacs as my default, but helix is just so fast it might become my go-to over time for editing code.

For those looking beyond Helix, Kakoune and Neovim, Vis is a lightweight and elegant option, worth a look.
At this rate, why not use vim? Half of the configuration is re-creating vim inside Helix. Not to mention, Helix has many dependencies (you just don't see them the way you do in neovim). I think I could make a case that my vim setup is more supply chain safe than Helix.

My current vim8 setup is very simple and has served me well for 8+ years. I'm currently using vim8 because it's what is available within my LTS distribution.

I only use one automatically loaded plugin (`vim-tmux-navigator` to simplify moving between vim splits and tmux splits, it's a passive plugin). I have reviewed the code for the plugin and I don't update it.

I only use two "optional" plugins (you can enable them using vim's built in package manager with :packadd!). I use `ale` (lsp, diagnostics and automatic formatting on save) and `vim-fugitive` (git workflow inside vim).

Why use ale? Because it works with vim8 and doesn't require any other dependencies like nodejs or python. I have reviewed the code and I'm happy with it. Install it and use it, don't update it without a reason.

Why vim-fugitive? It's a productivity booster. You install it once and forget about it. Tim Pope is the man.

I don't automatically load plugins (besides tmux-navigator) for a few reasons. Most of the time when I'm using vim it's for quick editing where I don't need the heavy tooling (like git integration or an lsp). If I am working on a project with a long term session I will enable git and lsp.

There's no need to automatically run code unless you need it.

Nice! I didn't know about:

    :reset-diff-change
I've been using

    git checkout -p 
But doing this inside Helix is much more convenient.
I tried helix and I liked it but it’s not usable for me without the ability to author plugins
I need the ability to run the current file with a shell script / program. Like Vim offers with :!whatever %

Last time I checked Helix did not offer this. Has this changed?

Co-incidentally, I started learning neovim (via lazyvim) this week. I just gave Helix a try, and I think the selection and motion logic is much more natural to me.

I might try to learn this instead of neovim for a while.

I’m checking out helix for the first time, and two serious drawbacks come to mind:

- if a main point is modal editing, vim lets you use your muscle memory everywhere, since vim mode is pretty common (plus extensions like vimium, and almost certainly having vim on any machine you ssh to).

- helix seems to be both opinionated about simplicity (no terminal integration) and not very extensible with plugins (no linting unless it comes from the lsp)? That seems to be a limited combination, forcing you to have your whole setup built upside the editor (tmux etc).

I’m not saying this to disparage the project, just wondering: what are the big upsides that balance those cons?

"There are a lot of emerging supply-chain attacks, and I simply don't like the idea of installing tens of plugins to Vim/Neovim to make the editor usable." This is exactly what I’m concerned about.
Never really considered supply chain attacks with neovim, but that is a bit worrisome as I use around 15 plugins. I can see why the author switched to something with a reduced attack surface.
I have a very extensive neovim setup, and was reluctant to try out Helix, but this morning I installed it, and I am totally amazed what this editor delivers out of the box! Woooow! This is unbelievable. Totally fast, smooth, and has all the settings I had configured over days in lua and with the telescope plugin. How did the makers of Helix know what us hackers need, want, as if they reviewed my config file :D
I've really tried using Helix, I've forced myself to learn the flow, I'm even efficient in it by now. But I came to the realization, that while the reversed flow is easier to implement and easier to learn, it's just slower to use. I came back to Vim, and eventually to Zed (in Vim mode).
I give a try of helix today, it's really good design editor, but mising many quick operations of vim like y2$, dw.
They are not missing: y2$ is 2xy, dw is just wd.