Just FYI, they did try to improve that a bit. Release notes for nano v8.0:

> Command-line option --modernbindings (-/) makes ^Q quit, ^X cut, ^C copy, ^V paste, ^Z undo, ^Y redo, ^O open a file, ^W write a file, ^R replace, ^G find again, ^D find again backwards, ^A set the mark, ^T jump to a line, ^P show the position, and ^E execute.

> Above modern bindings are activated also when the name of nano's executable (or a symlink to it) starts with the letter "e".

So if you symlink nano to /usr/bin/editor and make it the default $EDITOR, then you now do get CUA-like bindings by default.

There’s still a lot of more things they perhaps should enable by default. I don’t know whether you’ve looked into .nanorc, but you can turn on stuff like syntax highlighting and line numbers, it’s just all off by default.

I don’t actually use nano myself, but I was really taken aback by how featureful it is when you look closely. Not st the level of Vim or Emacs, but more than expected. I basically stumbled upon someone on Reddit /r/unixporn that "riced" their nanorc and it piqued my curiosity.

For most people though, I think micro is a better fit than nano if you want a terminal CUA-style editor.

> Above modern bindings are activated also when the name of nano's executable (or a symlink to it) starts with the letter "e".

Maybe stupid question but do you then need to run nano through the symlink to get the new bindings or is the existence of a symlink enough? Wouldn’t nano have to check every directory for a symlink to itself to do that? There’s no way to get all symlinks for a specific file without checking the whole file system, right?

I believe you have to run it through the symlink, and that it just checks argv[0] to decide. It’s the same Vim does, FWIW: if you run it via a symlink called `vi` it enters a vi-compatible mode, and if you run it as `evim` it suddenly acts as a non-modal text editor, and as `vimdiff` it enters the diff mode.