Yi was kind of designed like this, I believe. You could compile in an emacs-like model, a vim-like model, or presumably make your own model.
I've used Helix and Kakoune in addition to Emacs and Vim, but dealing with the limitations/featureset/plugin treadmill gets a little tiring.
I have been following Zed, and it seems that they have rearchitected things to enable adding Helix mode and making the editing model a bit more modular, but it's still fairly new. They are fixing bugs pretty quickly. I will have to try it again.
They have a nice discussion here:
https://github.com/zed-industries/zed/discussions/6447
They reference Ki, which also looks cool, and they out some of Helix's inconsistencies in their comparison: https://ki-editor.github.io/ki-editor/docs/comparisons/
I prefered Kakoune to Helix (it was more consistent). But to your point, being able to swap these things out more easily would let you choose an editor based on features, and not tradeoff between features and an ergonomic editing model.
Ironically you can use Ki inside of VSCode (and I know you can use Vim that way too), but VSCode is so darn bloated and slow...
But emacs. Emacs is the one that can truly become anything you like. And with lsp and treesitter being finally in it. I've finally came to my senses and started building my helix in it.
It's definitely easier with LLMs now, but still considerably hard.
But the team is out there ; )
If you want to try something similar to Helix in emacs, there's meow-mode. While I'm not a helix user myself, it shouldn't be too difficult to get meow to work like helix.
commit b400449a58507cca1fa007197929c2cfd6beabbe
Author: Nathan Sobo <[email protected]>
Date: Sat Feb 20 10:02:34 2021 -0700
Start rebuilding with a cleanly-separated UI frameworkBeen wanting to learn Helix more and using it for small edits but never saw a Helix mode in any editor yet
Last time I tried it, though, I immediately ran into parts of the keymap that hadn’t been translated yet. I’m already at my limit of tools in beta mode/built from my own fork, so I switched back to Vim mode – where the team is on record explaining their thorough testing methodology.
As a Helix user of two years, I sometimes wonder if I actually like the Helix keymap (certainly some parts are nicer than Vim’s) or if I simply tolerate it because of how nice it is to get a polished TUI IDE out of the box. Either way, my muscle memory expects Helix mode now, rather than Vim.
My difficulty in finding editors that fit my desired input scheme kinda reminds me of the old pre-LSP days. Where you'd chose an editor based on it's language features. I wonder if we need some sort of common editor interface to allow these sort of text editing primitives to work in new editors, as it seems to be considerable friction.