Ctrl + M envía el mismo carácter (RET) que la tecla Intro en la terminal. Los programas no tienen forma de distinguirlos, por lo que estas teclas no se pueden configurar por separado.
Ctrl + Q ya se usa para XON de manera predeterminada, por lo que Bash no puede usarlo, pero aún debería poder usarlo en tmux, porque tmux usa el modo de entrada sin formato.
Un programa GUI podría leer desde el teclado, que la tecla m ha sido presionada con el modificador Ctrl y usar Ctrl + m como acceso directo, pero un shell o cualquier programa de terminal recibe las combinaciones Ctrl + Key como caracteres ascii de 0 a 26
Ctrl+@ = 0
Ctrl+A = 1
Ctrl+B = 2
y así. Puedes probar esto para ver los valores
cat ctrlkeys <<EOF
^A^B^C^D^E^F
EOF
od -c ctrlkeys
0000000 001 002 003 004 005 006 \n
Para ingresar los valores, presione Ctrl + v antes de Ctrl + [af] para que no se interpreten como un valor bruto.
Cuando observa la tabla ascii (7), puede ver los códigos de control en una tabla con los caracteres correspondientes @ .. Z a la izquierda. Por ejemplo
015 13 0D CR '\r' (carriage ret) 115 77 4D M
o
011 9 09 HT '\t' (horizontal tab) 111 73 49 I
La siguiente capa que interpreta los códigos de control antes de bash es stty (cambia e imprime la configuración del terminal)
stty -a
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
ver stty (1) para los significados de lnext
o start
y stop
.
Vea también readline (3) ya que bash y otros programas GNU cli usan esa biblioteca para controlar las líneas de entrada y, por supuesto, bash (1) / READLINE, la sección readline de la página de manual de bash.
Nota: XYZ (NUM) significa la página de manual XYZ de la sección NUM, por lo que el resultado de man NUM XYZ
.
ALT + m
es aún más conveniente en mi humilde opinión.