this post was submitted on 18 Sep 2023
34 points (100.0% liked)

Linux

45530 readers
2099 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

So apparently there are two editors inspired by vim, but built from the ground up (as opposed to neovim, a vim fork that seeks to improve on top of vim).

I've heard of Helix several times prior, but it never quite attracted me. Seemed like vim, but different key bindings and much worse plugin system. It also has different visual and normal modes than vim, but it didn't quite click with me. I do like it's multi-cursor ability though.

Then it turns out that Helix was also inspired by not just vim, but also kakoune. Kakoune also has different keybindings, and different modes, but its different modes make sense to me. It fuses visual and normal mode into one. Your normal mode is for both navigation and selection.

Kakoune promotes the idea that you should visually see the text you're operating on before running the command. You know how in vim, "dd" deletes a line, "dw" deletes a word, and "d$" deletes to the end of the line? In vim, you don't see what you're deleting before its gone (which is fine and works for many). In kakoune, the selection happens first before the action. So you select the word or the line, and then you delete.

But what I found to be Kakoune's killer feature was its shell integration. Kakoune seemlessly integrates into the unix shell, allowing you to offload many tasks to it. For example, instead of it having a built-in sort command, you use the unix sort command to sort your lines.

I'm surprised kakoune isn't more popular. Yes, it is still in a much earlier phase than vim, and the ecosystem is far less mature, but I am surprised to see Helix gaining more traction.

I'm still very new to kakoune and exploring it. But I like it a lot so far.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (5 children)

For those who have tried Kakoune, once you've included things like Treesitter and the clangd language server, which one feels faster, Kakoune or Neovim?

I'm still a Neovim main but one thing that I find interesting in Kakoune is their "client/server architecture" which apparently allows you to have one master Kakoune instance and multiple slave instances that would be in sync, kind of like how you can have multiple windows in any modern IDE (I'm not sure if Kakoune shares the clipboard with all of those instances?). That thing is still not available in Neovim (or Vim for that matter), which is a pain in multi-screen setups.

[–] [email protected] 3 points 9 months ago (2 children)

Long-ish time Kakoune user here.

For those who have tried Kakoune, once you’ve included things like Treesitter and the clangd language server, which one feels faster, Kakoune or Neovim?

I never felt the need to install something like Treesitter because I feel selection-based editing is already powerful enough, if that gives you an idea of how much faster I am with Kakoune compared to Neovim. Maybe I just don't know everything Treesitter can do 🤔

which apparently allows you to have one master Kakoune instance and multiple slave instances that would be in sync

It's not a master/slave setup, it really is client/server, even the first instance of kakoune that you open will be a client that you can close without the other instances going down with it.

I’m not sure if Kakoune shares the clipboard with all of those instances?

Yup, all shared: registers, buffers, marks, hooks. (You can choose not to share stuff between clients)

[–] [email protected] 1 points 9 months ago

To complement your answer, usually people want tree-sitter not only for smart selections, but because of syntax highlighting.

Kakoune has the best of both worlds: https://github.com/kak-lsp/kak-lsp supports semantic highlights from LSP servers, but we also have projects like https://github.com/phaazon/kak-tree-sitter in case you want highlighting from tree-sitter.

[–] [email protected] 1 points 9 months ago

Doesn't "master/slave" = "client/server" in this context?

load more comments (2 replies)