3 ms·
Are you wondering about Kakoune vs Helix ? Here are some of my thoughts (I'll try to be objective): I got into Kakoune long before I discovered Helix. I'm pass
by sidkshatriya 2y ago
Are you wondering about Kakoune vs Helix ? Here are some of my thoughts (I'll try to be objective):
I got into Kakoune long before I discovered Helix. I'm passionate about Kakoune and it still has the odd advantage over Helix but in 2024 someone new to modal editing (noun-verb style) is probably better off picking up Helix. In my case I stick to Kakoune because I guess I'm just used to it and I'm able to write one-off "kak scripts" aka plugins that help with my workflow. As far as I know writing plugins in Helix is still not possible / or still being figured out.
What Helix has going for it is is that it comes with built in tree sitter, LSP support and built in multiple screen support. The kak-lsp plugin provides that LSP support in Kakoune and is top-notch in case anyone was wondering. Many LSPs provide tree sitter based syntax coloring which kak-lsp supports which is a silver lining for Kakoune. (Kakoune lacks built in tree sitter support; some plugins try to provide tree sitter support. You need to use kakoune in somehing like tmux for multiple screen support).
In my occational use of Helix, I notice that it is very responsive and fast -- Kakoune is pretty fast too but Helix is better. It makes sense because Helix integrates LSP tightly which is a big part of what an editor does nowadays. Helix also has a slightly more attractive TUI and is much easier to use out-of-the box.
I wish Kakoune had the community momentum that Helix does. Helix has couple of other advantages: it is built in more a reasonable language (Rust) compared to Kakoune (C++) which allows using a lot of Rust's amazing libraries. This means that Helix can acquire new capabilties much more easily via awesome rust crates !
Kakoune BTW totally eschews any external dependency which is underappreciated. You just need clang++ / g++ to compile Kakoune. (P.S. Have you tried compiling neovim from source :-) ?!) When I setup a new VM, one of the first things I do is compile kakoune from source. Because of a lack of dependencies its trivial to do. Then I compile kak-lsp. Incidently the kak-lsp plugin is built in Rust so its also easy to compile also because cargo handles all the dependencies there too.
In conclusion, Kakoune's philosophy is to build an editor core that is small and polished and delegate everything else to plugins. Helix's philosophy is to have an editor with the important functionality all built in. Kakoune's development seems to have slowed down quite a bit over the years as it converges on a minimal featureset while Helix seems to keep accelerating. The creator of Kakoune does not have as much time as before to devote to the project it seems. The Kakoune project still receives regular updates, bug fixes and the occational minor feature of course (but nothing earth shattering in the years I've been following Kakoune).
There is strict control on what goes into Kakoune. The bar to getting anything in Kakoune is very high and very dependent on the tastes of the Kakoune creator. Looking at the breath of external contributions in Helix, I would guess that Helix is more accepting of external contributions and willing to be much more feature rich. Kakoune tries to be too minimalistic -- maybe too minimalistic for my personal taste. Some of this could be due to the lower current bandwidth of the kakoune maintainer rather than any inherent minimalism perhaps.
If I've confused you -- maybe that is a good thing. I would suggest trying out both Helix and the kakoune+kak-lsp combination. It's good to have many editors in your life. It gives you a wonderful perspective on how to do things: Kakoune is a breathtaking gem of innovation. Helix is all that remixed, polished and improved. But Kakoune still has a few tricks up it sleeve like extensibility.