Ctrl + Mは、ターミナルのEnterキーと同じ文字(RET)を送信します。プログラムにはそれらを区別する方法がないため、これらのキーを個別に構成することはできません。
Ctrl + QはすでにXONに使用されていますデフォルトでに使用されているため、Bashで使用することはできませんが、tmuxはraw入力モードを使用するため、tmuxで使用できるはずです。
GUIプログラムはキーボードから読み取ることができ、キーmは修飾キーCtrlで押され、ショートカットとしてCtrl + mを使用しますが、シェルまたは任意の端末プログラムは0から26までのASCII文字としてCtrl + Keyの組み合わせを受け取ります
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 + [af]の前にCtrl + vを押して、未解釈の値として解釈します。
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
。
また、bashおよび他のGNU cliプログラムが入力行を制御するためにそのライブラリを使用し、bash(1)/ READLINE(bashマニュアルページのreadlineセクション)を使用するため、readline(3)も参照してください。
注:XYZ(NUM)は、セクションNUMからの手動ページXYZを意味するため、の結果ですman NUM XYZ
。
ALT + m
とさらに便利です。