Ctrl + M надсилає той самий символ (RET), що і клавіша Enter у терміналі. Програми не мають можливості їх розділити, тому ці клавіші не можна налаштувати окремо.
Ctrl + Q вже використовується для XON за замовчуванням, тому він не може бути використаний Bash, але ви все одно можете мати можливість використовувати його в tmux, оскільки tmux використовує режим необмеженого введення.
Програма GUI може прочитати з клавіатури, що клавіша m була натиснута модифікатором Ctrl і використовувати Ctrl + m як ярлик, але оболонка або будь-яка програма терміналу отримує комбінації клавіш Ctrl + так само, як символи ascii від 0 до 26
Ctrl+@ = 0
Ctrl+A = 1
Ctrl+B = 2
і так далі. Ви можете спробувати це, щоб побачити значення
cat ctrlkeys <<EOF
^A^B^C^D^E^F
EOF
od -c ctrlkeys
0000000 001 002 003 004 005 006 \n
Щоб ввести значення, натисніть Ctrl + v перед Ctrl + [af], щоб не інтерпретувати їх як необроблене значення.
Переглядаючи таблицю ascii (7), ви можете побачити контрольні коди в таблиці з відповідними символами @ .. Z зліва. Наприклад
015 13 0D CR '\r' (carriage ret) 115 77 4D M
або
011 9 09 HT '\t' (horizontal tab) 111 73 49 I
Наступний рівень, який інтерпретує керуючі коди до того, як bash буде stty (змінити та надрукувати параметри терміналу)
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;
див. stty (1) для значень lnext
або start
і stop
.
Також див. Readline (3), оскільки bash та інші програми кліпів GNU використовують цю бібліотеку для керування вхідними лініями і, звичайно, bash (1) / READLINE, розділ для читання на сторінці керівництва bash.
Примітка: XYZ (NUM) означає сторінку керівництва XYZ з розділу NUM, тому результат man NUM XYZ
.
ALT + m
ще зручніше імхо.