1. Tabs (like in vim). I've found only vim and emacs have tabs in a way that makes sense to me. Kakoune also has a cool model, where I can use my window manager (or tmux) to recreate tabs.
2. Code folding, I like to fold everything as soon as I open a file to get an "overview" and then slowly unfold as look into the details. Wasn't in Helix last time I checked.
3. Narrowing. Emacs has it built in [0], (neo)vim requires a plugin [1]. Similar to code folding, when I'm working on a large function, I want to pretend it's the entirety of my buffer.
Other than that, I'm not convinced that changing the order of key combinations makes sense. Kakoune did the same, I'm not a fan. I spent too long "thinking" in vim mode.
I think it's great at bringing the "floor" up, it's much easier to get productive in helix. But the ceiling is lower than vim.
[0] https://www.gnu.org/software/emacs/manual/html_node/emacs/Na...
(FWIW I use neither, and format via pre-commit hooks instead of in-editor.)
An example is: I write a long comment string on one line, then `Vgq` breaks it into a comment block according to the line width I have set for the file.
[0] https://github.com/helix-editor/helix/issues/2295#issuecomme...
- Love the possibility to download a single-file static executable that works out of the box, without need for a bizarre install method
- Love that basic vim keybindings work
- Hate that it does not come with a manpage hx.1
- Mildly annoyed by the default look and feel (line numbers taking horizontal space so that my code does not fit on the 80 column terminal, ugly white bar at the bottom, ugly negative-contrast completion hints, lines longer than 70 columns silently disappear to the right of the screen forcing me to do very unergonomical horizontal scroll, tabs should be 8 spaces by default not 2)
- There's really nothing wrong with this program, but it just feels like a vim clone, and I don't see the point to move from vim in my case.
It's a vim clone that works out of the box with LSP support, telescope, etc. that would require hours of plugin tinkering toil. I don't need to manage, configure, update, and depend on plugin authors.
It's great. I install it on every host I need to interact with. Quality of life things like `helix --health` further reduces toil.
The bad: -Still lacks certain features, apparently softwrapping lines at screen-width is currently being worked on, and that's a feature I've been waiting for -Can't do some of the fancy stuff you can do with vim plugins, eg. LaTeX support with PDF-viewer connection, or Jupyter notebooks, or whatever sort of highly specific thing you might want to do -Not as good at editing plaintext as Vim. Vim has eg. das ~ "delete as sentence", Helix doesn't. Couple that with lack of softwrapping (for now), and it's a pain
It's pretty great, and I see no reason not to use it. I run into situations where Helix isn't suitable (eg. LaTeX or plaintext), and then I just switch to regular NeoVim. The keybinds are close enough that it's easy to switch back and forth
https://docs.helix-editor.com/master/configuration.html#edit...
Documentation about adding languages seems more about adding new languages.
What should I do to get niceties ?
edit: ah, thanks search engine then arch wiki then https://docs.helix-editor.com/languages.html then https://github.com/helix-editor/helix/wiki/How-to-install-th...
it just seems missing so much still
a quick example - in emacs, I can do "comment-region" and I will get to comment out a selection with the right comment sequence - afaik even something as simple as that doesn't work in helix
so many other things
minor modes are important...in emacs I can have spell checking as a "minor mode" when editing markdown...how do I do this in helix?
easy support for lsp is fine but that means helix is useless if you don't have lsp for a file format you are working on...like .txt! emacs is still a great TEXT editor
maybe one day helix will be an option, not today
But it definitely misses support for multiple lsp's per file and plugins.
Otherwise it just works.
With `hx --health` you can see what executable you need to have a specific LSP working and most of the languages are really zero conf.
I'm also using the master branch version, as the last release is some time ago, but it still works even though it is not a "stable releae".
For example if you have typescript and eslint.
Helix right now can't run both.
So you would need to run eslint in the terminal.