Are there Windows PowerShell-like key bindings for Bash or Zsh?

Honestly, after using Bash and Zsh for a long time before ever learning Windows CMD or PowerShell, PowerShell's CUA-style key bindings (ctrl+arrows to move word by word, ctrl+a to select the whole command line, ctrl+v to paste, ctrl+c to copy, etc) are simply still just more productive for me. It's the way most modern editors work.

I like Vim, but I haven't any Vim emulation to be good enough. I'd really like to have CUA bindings in Bash or Zsh (not Emacs or Vi).

Is this possible?


This exists for Bash, its ble.sh, which stands for Bash Line Editor.sh. It makes Ctrl + Left/Right jump entire words and Shift + Left/Right highlights characters, Ctrl + Shift + Left/Right does both, these are the standard CUA bindings. Now the highlighting it implements is different from the highlighting we get from using the mouse (this is implemented by the terminal emulator you are using), and it is this second one that is copied from on Ctrl + Shift + c. ble.sh does not implement any copy/paste functionality that I know of.

If you don't like that Ctrl + Shift + c is copy, then look into using a terminal emulator that allows that sort of rebinding, kitty, and terminator are places to start. In fact, it looks like kitty allows you to bind Ctrl + c to copy_or_interrupt which sounds like exactly what you want.


For bash, it's all documented here. There are default bindings, but you can change them, and you can even define macros.