I think after using helix for a month, two things stood out: the consistency of their modal paradigm (very hard to duplicate) and the consistency with which their system embraces LSP and Treesitter (which is what I attempted to copy using this refactor.)
From an LSP and TS side, the two editors have close to parity now for me, and that’s a neat experiment. It’s also a shoutout to just how impressive mini.nvim is from a completeness perspective.
Helix is missing some useful functionality and has no viable paths to adding that functionality yet (they’re working on a Scheme dialect to enable plugins, apparently). One simple example is EditorConfig, which can be useful for making sure your editor is behaving the same as other editors on the team with regards to hard/soft tabs (and size thereof, if soft), line lengths (for drawing rulers/auto-wrapping), encodings, etc. The pull request to implement this in core sat for two and a half years 1 before finally being rejected and abandoned by the author who frankly was somewhat hung out to dry along the way. And meanwhile this core feature that almost every editor more fancy than nano has, just… didn’t exist.
Extend this complaint tree to stuff like the behaviors vim-repeat, vim-commentary, etc. enabled, and Helix starts feeling just a bit too opinionated. I love an editor with great defaults and simple config files, but absolutely no ability to add anything at all if I disagreed with upstream choices finally grated on me. I, too, returned to NeoVim and its break-stuff-every-git-pull plugin culture.
Meta: I really like the idea of a changelog for the blog entry!
Ever since playing with elixir livebook, I still think there’s git porcelain tool to be built to take a git commit and diff and produce something markdown ready. I’ve stabbed at it a little bit here: https://evantravers.com/articles/2022/04/25/blogging-through-git-commits/
This is cool! I don’t understand the motivation to use nvim like helix vs using helix. What am I missing?
I think after using helix for a month, two things stood out: the consistency of their modal paradigm (very hard to duplicate) and the consistency with which their system embraces LSP and Treesitter (which is what I attempted to copy using this refactor.)
From an LSP and TS side, the two editors have close to parity now for me, and that’s a neat experiment. It’s also a shoutout to just how impressive mini.nvim is from a completeness perspective.
Helix is missing some useful functionality and has no viable paths to adding that functionality yet (they’re working on a Scheme dialect to enable plugins, apparently). One simple example is EditorConfig, which can be useful for making sure your editor is behaving the same as other editors on the team with regards to hard/soft tabs (and size thereof, if soft), line lengths (for drawing rulers/auto-wrapping), encodings, etc. The pull request to implement this in core sat for two and a half years 1 before finally being rejected and abandoned by the author who frankly was somewhat hung out to dry along the way. And meanwhile this core feature that almost every editor more fancy than nano has, just… didn’t exist.
Extend this complaint tree to stuff like the behaviors vim-repeat, vim-commentary, etc. enabled, and Helix starts feeling just a bit too opinionated. I love an editor with great defaults and simple config files, but absolutely no ability to add anything at all if I disagreed with upstream choices finally grated on me. I, too, returned to NeoVim and its break-stuff-every-git-pull plugin culture.
the GUIs for vim (gvim etc.)?
I would love for someone to make emacs as helix-like as possible, probably by configuring keybindings for meow https://github.com/meow-edit/meow
If nobody else does it, I’ll probaby do it myself :-)
Edited to add: meow and helix don’t have as much in common as I’d hoped, so this isn’t as easy a job as I’d hoped.