Strg + M sendet dasselbe Zeichen (RET) wie die Eingabetaste im Terminal. Programme können sie nicht unterscheiden, daher können diese Schlüssel nicht separat konfiguriert werden.
Strg + Q wird bereits standardmäßig für XON verwendet , kann also nicht von Bash verwendet werden. Sie sollten es jedoch weiterhin in tmux verwenden können, da tmux den unformatierten Eingabemodus verwendet.
Ein GUI-Programm könnte über die Tastatur lesen, dass die Taste m mit dem Modifikator Strg gedrückt wurde und Strg + m als Tastenkombination verwenden. Eine Shell oder ein beliebiges Terminalprogramm empfängt die Strg + Tastenkombinationen jedoch nur als ASCII-Zeichen von 0 bis 26
Ctrl+@ = 0
Ctrl+A = 1
Ctrl+B = 2
und so weiter. Sie können dies versuchen, um die Werte zu sehen
cat ctrlkeys <<EOF
^A^B^C^D^E^F
EOF
od -c ctrlkeys
0000000 001 002 003 004 005 006 \n
Um die Werte einzugeben, drücken Sie Strg + v vor Strg + [af], um sie als Rohwert zu interpretieren.
Wenn Sie sich die ASCII-Tabelle (7) ansehen, sehen Sie die Steuercodes in einer Tabelle mit den entsprechenden Zeichen @ .. Z auf der linken Seite. Beispielsweise
015 13 0D CR '\r' (carriage ret) 115 77 4D M
oder
011 9 09 HT '\t' (horizontal tab) 111 73 49 I
Die nächste Ebene, die Steuercodes vor der Bash interpretiert, ist stty (Ändern und Drucken der Terminaleinstellungen).
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;
siehe stty (1) für die Bedeutungen von lnext
oder start
und stop
.
Siehe auch readline (3) als Bash und andere GNU CLI-Programme verwenden diese Bibliothek zur Steuerung von Eingabezeilen und natürlich bash (1) / READLINE, den Readline-Abschnitt der Bash-Handbuchseite.
Hinweis: XYZ (NUM) bedeutet Manualpage XYZ aus Abschnitt NUM, also das Ergebnis von man NUM XYZ
.
ALT + m
ist noch bequemer imho.