Kakoune code editor
42 points by olex
42 points by olex
If you are interested in Kakoune, you might also be interested in an editor that goes even further in a similar direction, https://ki-editor.org/docs/introduction.
The direction it goes into is perhaps more similar to that of https://helix-editor.com/ than Kakoune's: Ki is focused on the tree-sitter integration and uniform key bindings. Unlike Kakoune, Ki is much less interested in being shell-scriptable.
I'm a regular helix user and I've discovered ki in the past, and it seems like just too much of a radical departure for me. the scriptability is interesting though, I would explore it for that. Really, the killer feature in helix that made it sticky for me is the little helper popup which appears for multi-key bindings, as, while i was an early user, i would forget, and it's easy to forget for the more niche keys too. While i get that ki has a reduced and focused set of actions, I think every modal editor could make use of this.
I think I wasn't clear, AFAIK Ki is not particularly scriptable (unless this changed recently). Sorry to disappoint. https://lobste.rs/c/9w0dte had the same confusion.
has helix development slowed down a lot or what's going on?
I'm a daily user of Helix and I wonder about this too. While there seems to be a steady flow of work going on, they haven't cut a major release in about 13 months. I have heard this has to do with the forthcoming plugin system. I also have the impression (rightly or wrongly) that the primary developer has exacting standards about accepting contributions. Either way, it seems to be perfectly usable to me for day-to-day work, although the lack of action on some reported issues is a bit concerning. When I used to check in on the subreddit, it sounded like about half the commentators were really blocked on the plugin system.
I think partly, a lot of time and effort has been taken up with the plugin system, which I think is almost finished but not quite released yet. But also I get the impression that the Helix developers are quite happy with it as an editor, and so don't really feel the need to do much else. Especially once plugins are there, I suspect development will reduce down to mostly just maintenance and people requesting new features will be pointed at the plugin system.
I'm a bit disappointed, because I really like the Helix keybinds and the way it mostly just works out of the box, but there are a bunch of sharp edges that you run into if you use it long enough, and I don't want to get back to the state where I have a complicated set of plugins to organise to get things how I want them.
I don't quite see how Ki is more shell-scriptable? The way you configure Kakoune is literally through shell-scripts, and Kakoune seems to have better support for prepend/append shell scripts. In Kakoune you can also define custom completers by shelling out, making integrations with fd, git gerp etc. very easy. I don't quite see that in Ki from a cursory glance.
Edit: Ah, I reread your last line. Yes, it seems that Ki is not as interested in being-shell scriptable. To me that is one of the biggest strengths of Kakoune so it's a bit unfortunate.
Thanks for mentioning the Ki Editor.
It's my first time seeing this project and after a long journey of struggling with existing editors (vim motions, helix editor, kakoune), I'm currently in the design process for my own editor.
Just by taking a quick look at Ki's docs, I noticed how many features I didn't know I needed in my personal editor! Thanks again :)
I switched to Kakoune 7+ years ago and haven't looked back. The customization is a little strange, but after the initial learning, the surface area is pretty small, and the documentation is reasonably discoverable. However, one of my favorite things is how little i feel like customizing it. It's a pretty fast and happy place with the default plugins.
Helix didn't fit me because although the key binding might be more consistent, they don't feel as human friendly or familiar for me. I also prefer the shell integrated, lightweight customization approach to needing to recompile your editor or go down the wasm plugin route.
There's a small community on discord. It took a few weeks for me to go from vim to using kakoune in anger with the help of the community made cheatsheets.
It's been over than 10 years since this link was first posted. I think there's new people who might have something to say about this editor.
My initial reaction was "why the repost?". It feels like I found the project from the previous post just recently.. It definitely sounds like good time for reminder.
I love Kakoune. I've been using it for like 6 years now.
I think it's tastefully designed. Kind of reminds me of git vs jj, and how the latter feels simultaneously simpler and more powerful through a refinement of the original ideas.
I admire Helix and how it's so friendly out of the box, but I feel it compromised on the purity and coherency of Kakoune's minimal, orthogonal design.
I too have been stuck using Kakoune for many years at this point. I used vim for a while in the past but found Kakoune's interactive feedback when performing complex, multi-cursor edits far more intuitive than the equivalent vim macros which need to be planned out in my head without interactive feedback.
Not sure what could get me to switch away from Kakoune at this point. I tried to switch to emacs once in order to enjoy the larger ecosystem and tools like magit but couldn't accept the downgrade in editing experience (There's no equivalently high-quality kakoune implementation for emacs compared to evil for vim users).
While it's not quite as good as Kakoune, I found meow mode to be pretty decent for emacs.
Though in the end, I realized it's better to just accept the default keybindings. These days I just use the built-in repeat-mode and then expand-region and multiple-cursors to do most of my editing and find that to be good enough.
I oscillate between the two because I love both emacs and kakoune for different reasons.
Kak is my daily after using neovim for a few years and then vim many years prior to that.
There are many things to like about kak, but for me, the keybindings, multi cursor, and lack of window management keeps me using it.
All I have is kak-lsp and 100 lines of cfg, that’s it.
When a blog post about kakoune (and helix, I think) was linked here a while back, I got curious to try out this multi-cursor, composable, rather minimal editor myself and have since fall in love with it. It took a while to get used to the new way of doing things, of piping text sections out to shell utility where another editor might have this feature built in.
But the composability compounds. Each new utility I find when using the shell is now available to my editor and vice versa. There are still some workflows I have not brought to kakoune, that I still use vim for, but I am working on those, slowly.
Kakoune is great.
Kakoune was my entrance to the world of programming. For the first time, I felt like I was writing something useful by extending the text editor with shell scripting, making my own small plugins that made things easier for me personally, and seeing people use them as well brought joy to me. Thanks to Kakoune, I learned some Perl, POSIX shell script, AWK, regular expressions. I made a bunch of plugins using these, and writing these plugins slowly became my passion for programming, unlike it was when I was trying to do any other kind of regular programming in my spare time.
Later, I switched to Emacs because I started doing lisp more and more, and Kakoune wasn't exactly friendly to lisps, and I wanted to see what Emacs can provide in terms of programmability. But if not for Kakoune, I would probably never have tried Emacs, nor written most of my pet projects later on.
I'll be the one to add a list of grievances to these happy comments. I tried using kak for a month 2 years ago. It was fun to set up, and I like the phylosophy behind it; my problems mostly being that the bindings are kind of bad and the defaults are too.
The keybinds problem was raised multiple times, especially by the creator of helix and people moving to it: having a variant of each command for word-WORD movement, plus of extending-nonextending movement, leads to an explosion of commands, and worse to some commands not getting a necessary variant. Additionally, having to hold alt or shift for most things you type does not improve the speed.
As for the bad defaults, I have a illustrative example: there is no built-in autoindent, you're supposed to write it yourself. Alright. But there is a built-in annoying script of adding a comment leader (like //) when I press enter. And to remove it, I have to go through all language plugins and delete it everywhere ???????
But the actual reason I dropped kak is because it doesn't support langmaps, so writing and editing cyrillic texts was basically impossible.
Is there a good youtube video someone recommends to see kak and understand the appeal / how to set it up and drive?
back in the day, kakoune was the reason i made my own code editor. i really wanted to use it but i was on windows.
i briefly tried to make it compile for windows but i guess there were just too many features that relied on it running on top of a posix system? don't remember the details. it's been many years
i really like its design (except for using alt in many keybindings which is kinda unergonomic for me)
I recently tried out Kakoune after something like 15 years of vi-likes (mostly on the basic text editor end of things, rather than the kind of almost-IDE setups you see at times with vim) and after a bit of adjustment it seems like a nice iteration on the ideas; I especially like the way it manages to merge the search-and-replace operations into the normal text editing work flow with multiple cursors.
One thing that keeps tripping me up thus far has been the way that /?nN work, where I end up splitting my cursors rather than searching in the opposite direction far too often. I should probably just remap them tbf.