this post was submitted on 18 Sep 2023
82 points (100.0% liked)
Linux
48082 readers
777 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
Long-ish time Kakoune user here.
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 🤔
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.
Yup, all shared: registers, buffers, marks, hooks. (You can choose not to share stuff between clients)
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.
☝️ 🤓 If by master/slave you mean "A system in which the master node is responsible to do everything a slave does plus coordinate slaves"
and by client/server you mean "A system in which a server is responsible only for coordinating clients".
I don't think so, because the first window is not special, it just spawns a server if none is assigned.
I haven't tried this yet, so I can't answer on Kakoune, but it was something that bothered me in neovim. I use a tiling window manager, and like having the editor tiles be managed by the tiling app. I'll try that out sometime
I just tried it right now, you create a session when opening your file the first time
kak file.cpp -s name_of_your_session
, and then on the other windows you connect to that session withkak -c name_of_your_session
. It really works, they share the same buffer and copy-pasting works just fine.