I've loved and used Emacs for ~20 years, but if Emacs were to become slow, then if I were to have a replacement editor that could do the following (w/no X or window manager) without additional config in Linux, I'd use it instead:
arrow keys to move
add and delete text anywhere
paste from terminal buffer
ctrl-s -> search (and continue to find next match)
ctrl-v -> down
ctrl-esc -> up
ctrl-k -> kill line
ctrl-x ctrl-s -> save
ctrl-x ctrl-c -> quit
ctrl-a -> goto beginning of line
ctrl-e -> goto end of line
I don't even use selection anymore, because I can just use the terminal window copy/paste.Antirez, of redis fame, wrote a minimal editor in C which got a lot of love here on hacker news a while back:
https://news.ycombinator.com/item?id=12065217
I took that release and added Lua scripting support to it, which also seemed reasonably popular:
https://news.ycombinator.com/item?id=12137698
It pretty much meets your requirements, and was a fun project. But it did make me realize that writing editors is sometimes harder than you'd think.
Kilo's supported commands are[1]:
CTRL-S: Save
CTRL-Q: Quit
CTRL-F: Find string in file (ESC to exit search, arrows to navigate)
It's available in a lot of well-used distros: https://pkgs.org/search/kilo but doesn't look like it's in Arch, etc.Kilua looks cool also as it has more similar keybindings to Emacs[2]:
Ctrl-x Ctrl-o Open a new file in the current buffer.
Ctrl-x Ctrl-s Save the current file.
Ctrl-x Ctrl-c Quit.
Ctrl-x c Create a new buffer
Ctrl-x n Move to the next buffer.
Ctrl-x p Move to the previous buffer.
Ctrl-x b Select buffer from a list
M-x Evaluate lua at the prompt.
Ctrl-r: Regular expression search.
but the goal would be to have that available in a package manager in a default install, so that after logging into any server where I'm a sudoer, I could: sudo apt-get install some_package
sudo yum -y install some_package
pacman -S some_package
...
[1]: https://github.com/antirez/kilo
[2]: https://github.com/skx/kilua