The key bindings are the least of your worries when trying to run Linux on a Mac...
But FWIW: on Linux key bindings are always completely customizable.
I'm running Ubuntu on my custom build desktop PC but with a wired apple keyboard. I also use Macs quite a lot. If I could get consistency between the two with key bindings it would be so good.
I'll have a dig for customising them
There are many ways. I honestly don’t type enough in Linux on my Mac to need that but Kinto looks like it does what you want, is reversible, is per application configurable, and is aware of cursor/caret state.