CTRL+_
is used to do UNDO in console; is it possible to map that another key combination like CMD + Z
?
Asked
Active
Viewed 355 times
0

Gilles 'SO- stop being evil'
- 829,060

Arnold Roa
- 419
-
Have you seen this discussion? Maybe it can be of help. – Oct 04 '16 at 17:48
1 Answers
1
Yes, but that depends on your shell. In bash, you have to use bind
:
$ bind '\C-t':undo
This will bind Ctrl-t to undo
. Note that you cannot bind Ctrl-z in most terminal emulators. Refer to help bind
for more information.
If you want the current list of all key bindings, use bind -P | grep -v "not found"
.
In zsh, you have to use bindkey
:
$ bindkey '\C-t' undo
Keep in mind that you probably want to remove the old bindings for whatever key you'll choose. For example, \C-t
is bound to transpose-chars
.
In case you're wondering where all those combinations come from: Emacs. See man 1 bash
, section "Readline Command Names" for more information.

Zeta
- 1,029
-
You actually can bind
Ctrl-z
inzsh
. Also, this does not depend on the terminal emulator, but on the shell. While a terminal emulator might preventCtrl-z
from being used, I think it unlikely that any terminal emulator actually does do this, as this is shortcut is generally used to sendSIGSTOP
to the running process. – Adaephon Oct 10 '16 at 13:53 -
1The "inability" to bind Ctrl+z or Ctrl+c is because the terminal intercepts these and sends signals instead, thus the shell does not see these characters. But if you bind Ctrl+z (or Ctrl+c) and reconfigure the terminal (e.g.
stty susp ^Y intr ^U
) then the binding(s) will work. – Kamil Maciorowski Aug 09 '22 at 05:54 -
1@Adaephon, that's
SIGTSTP
sent to the foreground process group / job, not "SIGSTOP
sent to the running process". – Stéphane Chazelas Aug 09 '22 at 06:05