Ctrl + M wysyła ten sam znak (RET), co klawisz Enter w terminalu. Programy nie mają możliwości ich rozróżnienia, więc tych kluczy nie można skonfigurować osobno.
Ctrl + Q jest już domyślnie używany dla XON , więc nie może być używany przez Bash, ale nadal powinieneś być w stanie używać go w tmux, ponieważ tmux używa trybu surowego wprowadzania.
Program GUI może odczytać z klawiatury, że klawisz m został wciśnięty z modyfikatorem Ctrl i użyć Ctrl + m jako skrótu, ale powłoka lub dowolny program terminalowy odbiera kombinacje Ctrl + klawisz tak samo, jak znaki ascii od 0 do 26
Ctrl+@ = 0
Ctrl+A = 1
Ctrl+B = 2
i tak dalej. Możesz spróbować to, aby zobaczyć wartości
cat ctrlkeys <<EOF
^A^B^C^D^E^F
EOF
od -c ctrlkeys
0000000 001 002 003 004 005 006 \n
Aby wprowadzić wartości, naciśnij Ctrl + v przed Ctrl + [af], aby nie interpretować ich jako wartości surowej.
Gdy spojrzysz na tabelę ascii (7), zobaczysz kody kontrolne w tabeli z odpowiednimi znakami @ .. Z po lewej stronie. Na przykład
015 13 0D CR '\r' (carriage ret) 115 77 4D M
lub
011 9 09 HT '\t' (horizontal tab) 111 73 49 I
Następna warstwa, która interpretuje kody sterujące przed bash, jest sztywna (zmień i wydrukuj ustawienia terminala)
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;
patrz stty (1) w odniesieniu do znaczeń lnext
lub start
i stop
.
Zobacz także readline (3), ponieważ bash i inne programy GNU cli używają tej biblioteki do sterowania liniami wejściowymi i oczywiście bash (1) / READLINE, sekcja readline strony podręcznika bash.
Uwaga: XYZ (NUM) oznacza stronę podręcznika XYZ z sekcji NUM, więc wynik man NUM XYZ
.
ALT + m
jest jeszcze wygodniejszym imho.