When I was in high school I found Sublime Text and learned “multiple cursors”. Since then, I’ve transitioned to vscode, mainly because I need LSP (without too much configuration work) for my work.
I keep hearing about how modal editing is faster and I would like to switch to a more performant editor. I’ve been looking at helix, as the 4th generation of the vi line of editors. Is anyone using it? Is it any good for the main code editor?
The problem that I have is that learning new editing keybindings would probably take me a month of time, before I get to the same amount of productivity (if I ever get here at all). So I’m looking for advice of people who have already done that before.
My code editing does involve a lot of “ctrl-arrow” to move around words, “ctrl-shift-arrow” to select words, “home/end” to move to beginning/end of the line, “ctrl-d” for “new cursor at next occurrence”, “shift-alt-down” for “new cursor in the line below”, “ctrl-shift-f” for “format file” and a few more to move around using LSP-provided “declaration”/“usages”.
I would have to unlearn all of that.
Also, I do use “ctrl-arrow” to edit this post. Have you changed keybindings in firefox too?
I use Helix
TLDR: Yes I think helix is worth trying out. It has some missing features but it is an amazing piece of software.
Yes I use helix daily. It is very fun to use and you can do many things faster. It is particularly good when navigating a (large) codebase you know fairly well. You are able to jump around and find/edit relevant code very quickly.
Compared to vs code:
Compared to neovim I think it is:
The downside of helix compared to both neovim and vscode is that it does not have plugin support yet so you will need to use other tools in combination with it to get an equivalent experience. Here are some tools that are commonly used with helix:
Helix really shines when:
I recommend you use the tutor (
hx --tutor
) for a few minutes each day to learn the keybidings.I’ve recently taken to kakoune which was one of the inspirations for Helix.
It’s not as fancy (in terms of built-in features) out of the box, but it’s very performant, integrates with tmux well, and for the C++ and Python I’m writing I haven’t felt the need for much beyond token based word completion and grep.
The client server model it uses has really let me improve my tmux skills because I’m working inside of it more and using it for editor splits.
I don’t know if Helix does this, but I’ve also come to love the pipe operator (where you just pipe a selection into some external program and the selection gets replaced with the output, so you can use the e.g. the sort command to sort text). You can also pretty easily add in custom extensions via command line programs.
Ahhh nice, I have thought about trying out Kakoune as it supports plugins. Do you use many plugins/find them useful?
Helix does have a pipe command also.