Helix 23.10 Highlights
helix-editor.com
helix-editor.com
Debugging works for some languages, though it's not comparable to IDEs like vscode. It's also marked as experimental https://docs.helix-editor.com/keymap.html?highlight=Debug#sp...
Helix also has multi cursor, but probably not as intuitive when you are coming from vscode.
Helix supports many languages without configuration, except installing the language server.
GitHub actions completions should probably work through this json schema with a language server, at least I didn't configure anything and when I edit docker compose files, I have autocompletion and validation. https://github.com/SchemaStore/schemastore/blob/master/src/s...
Command palette - i don't know what you are using it for, but nearly every modal editor like (neo)vi(m) has a "command line" when pressing ':' where you can run helix commands https://docs.helix-editor.com/commands.html
With helix you can get most of the vscode features, except debugging, extensions and file management, though most of the extensions can be replaced with some other tools (depends heavily on what the extension does, can't be generalized). A plugin system is currently on the roadmap and is being worked on, but I don't think anyone could tell you when it's going to be ready.
Discovery!
No doubt, command mode in vim et al. is probably the most powerful thing. However, as with anything shell, it all has to be laid out a priori.
Command palettes are fuzzy-finding, allowing reckless abandon for hacking into them. Single-letter commands have to be remembered, productivity suffers. Fuzzy is pretty much just as fast and grows with the user dynamically. I'll look into whether Helix has that.
Command Palette isn’t a VSCode invention. Sublime Text already had it.
Even more hindsight on Vim, Helix and Kakoune - https://news.ycombinator.com/item?id=36427267 - June 2023 (115 comments)
More hindsight on Vim, helix and kakoune - https://news.ycombinator.com/item?id=36066347 - May 2023 (1 comment)
Helix 23.03 - https://news.ycombinator.com/item?id=35384691 - March 2023 (93 comments)
Helix 22.12 - https://news.ycombinator.com/item?id=33890655 - Dec 2022 (40 comments)
Helix: Post-Modern Text Editor - https://news.ycombinator.com/item?id=33494840 - Nov 2022 (166 comments)
Helix: A Neovim inspired editor, written in Rust - https://news.ycombinator.com/item?id=33147270 - Oct 2022 (306 comments)
Helix: A post-modern text editor - https://news.ycombinator.com/item?id=33039390 - Sept 2022 (2 comments)
Helix, Terminal Modal Editor - https://news.ycombinator.com/item?id=30847041 - March 2022 (2 comments)
Helix 0.5 released (Kakoune like terminal text editor) - https://news.ycombinator.com/item?id=29043889 - Oct 2021 (2 comments)
Helix: a post-modern modal text editor - https://news.ycombinator.com/item?id=27358479 - June 2021 (365 comments)
These looks to be fantastic updates, I especially dig the diagnostics (if that is part of the release as well).
The only thing I haven't nailed yet is creating files in deeply nested directories.
In general most of the things I used in nvim have now moved back to the terminal which has its pros and cons.
also written in Rust
Never could stick to any modal editor like (neo)vi(m), but helix was so easy to get into, and you don't even need to configure anything.
My main editor and "IDE" since >1 year, can only recommend.
Which is completely fine behavior, to be clear. I just can’t deal with it. vim does not do this.
My hope is that Helix gets around making /**/-style block comments more ergonomic. It's one of the reasons I'm still using nvim for writing C.
LunarVim is my daily driver, but Helix is screaming fast compared to it in many cases.
$ du -hs /opt/homebrew/Cellar/helix/
139M /opt/homebrew/Cellar/helix/
That doesn't seem unreasonable to me.> Built in Rust, for the terminal
> No Electron. No VimScript. No JavaScript. Use it over ssh, tmux, or a plain terminal. Your laptop battery life will thank you.
Helix uses tree-sitter for rich language support. Tree-sitter's grammars are binary dynamic libraries compiled from some source code. Depending on how they are written and how complex they are, they can be anywhere from few KB to many MB. There's like 150 of them ATM. It's not exactly Helix's fault that some are unreasonably large.
Tree-sitter is a large part of what makes Helix editing experience so good. Unlike regex-based parsing that (Neo)Vim uses (or at least it used to, last time I looked) which often break in weird ways and make the editor very sluggish sometimes.
Helix official releases ship with all the supported grammars pre-compiled to give a convenient fully-featured user experience. It's entirely possible to package Helix without grammars, then compile selected few and so on. Some distros and individual users do so. Grammars compiled by distros / package managers can be re-used between other programs using Tree-Sitter, so could be packages as additional (possibly optional) dependencies.
Honestly 140MB for such a good editor is totally fine with me, but people who can't live with it have plenty of routes to take, like improving Helix integration in their package manager of choice.
the fact that more popular editors expect you to check them out yourself and compile from master and then wire everything up yourself and "hopefully there's no incompatibility today!" is insane. we should really have higher standards than that.
But it is Helix's fault for including them all even if 99% of the users will never use them (like the linked Verilog issue illustrates)
I can understand complaining about RAM usage because there is some performance impact there, but I have truly no clue why anyone cares about storage usage.
Other than the initial download time, I don't see how it would have any impact on the end-user.
Of course, it would be _nice_ to get that package size down if it's easy, but to me it seems unnecessary to prioritize.
For my Arch system I have a 60GB (BTRFS, compressed) root partition, and I install packages very liberally, I have KDE Plasma, KiCAD (with the 3D library), FreeCAD (though I don't use it) and quite a few other packages and haven't run out of space yet (currently I'm using 79GB uncompressed, 55GB on-disk)