this post was submitted on 05 Oct 2023
130 points (97.1% liked)
Linux
48366 readers
955 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
Helix. A perfect programmer's editor you can use with almost no config.
Interesting. Have you spent any time with neovim? If so, I'm curious how they compare. I was just starting to investigate the nvim ecosystem, but it's quite daunting. Still, I like the idea of everything being open source, and using plugins to augment my workflow.
Helix was inspired by neovim. Though mostly the inbuilt LSP/tree sitter support. Its keybindings are a mix between what neovim has and kakoune, though closer to kakoune I think. The major advantage IMO that helix has over neovim is built in support for most things you need plugins for in neovim as well as sane defaults out the box. You don't need 10s of plugins and 100s of lines of config to get helix to work like a modern editor - it just does out the box. All you need to do is install the LSP server for the languages you are interested in and launch helix.
The major downside ATM is it has no plugin support at all. Which is not as bad as it sounds as it includes so much out the box that you would typically require plugins for in neovim. They are working on plugin support though so it is only a matter of time for this to be fixed. Currently I don't feel the need for any plugins when using it so IMO it is not a deal breaker for me or my workflow. But the need to manage large configs and sets of plugins had already become too cumbersome in neovim for my liking.
I thought lack of plugins was going to be a deal breaker and now I’m kind of on the “do we really need plugins at all” side.
Helix out of the box is really nice.
There are already good answers to this, so I just add that yes, I've used vim/neovim for about 20 years before starting to use helix. I'm very familiar with the editor.
I used vi and then neovim for about 20 years (like the other @pimeys). I switched to kakoune first because nvim's plugins were a mess and the LSP integration was unreliable. With all the plugins needed to get a decent dev editor, startup was starting to get slow. Kakoune had multi-select. But mainly, I switched because one necessary plugin (I think it was the LSP one) insisted on starting a nodejs server. Plugins were written in whatever, and running nvim meant spawning Ruby, Python, NodeJS, and whatever else processes; I switched because the nvim ecosystem was getting as bloated as EMACS.
I bounced from Kakoune to Helix after a couple of years, because Kakoune relies heavily on chording, and modality (pressing a key to get into a mode to do something or some things) is superficial; Helix makes much greater use of modes, often nested, and feels much more faithful to the vi philosophy to me. Also, Tree-Sitter is a disruptive technology.
Why is Tree-Sitter a disruptive technology?
Because, while many people are unaware of it or have beard of it but don't know what it does, it's a novel, well-executed, reusable solution that is incredible at what it does. Ot's disruptive in the sense that I believe it's changing how programs that need to parse code are written, and they'll become faster to write, faster to execute, and better for it.
Not big-D disruptive, as in changing the face of computer science, but little-D, as in having a quiet but disproportionate impact on a lot of software.
Oh, I thought disruptive is a negative adjective. Translator translates it to my language as a negative adjective.
Your translator is right! The word does have negative connotations, in that the status quo is being disrupted. In the context of technology, it loses that connotation. It can mean something good, but not necessarily. Google was disruptive; was it for better, or worse? Tesla was too, but in the end, probably for the better. I'd argue that e-bikes are disruptive in the US, as they're getting huge numbers of Americans who otherwise wouldn't out of their cars for small trips.
So it's basically something with big impact?
That's reasonably synonymous.
Thanks for explanation!
I agree. I think the fact that it’s built around multi cursor edition and a selection -> action paradigm as opposed to vim’s action -> selection is going to become the norm slowly and surely.
ay, I was going to say that. Use it on all my boxes as a vi replacement.
Dammit, you beat me to it.
It's such a great editor.
I've never heard of it, but I like the sound of the name :)