私が読んでいるこのメッセージはzshメーリングリストからのものです。キーバインディングに関してどのキーを押すべきかを知りたいです。
^X^I
(私の考えにはCtrl-X
Ctrl-I
資本X
課I
)^[^@
(私の考えではCtrl-Esc-@
??)^X^[q
(私の考えではCtrl-X
Esc-q
??)^XQ
(Qと思いますかCtrl-X
?)
^[[1;3A
^[[1;3D
~からbindkey
^[[1;5C
^[[A
Escを意味することはわかりますが、^[
他のものを見つける方法がわかりません。これをリストした公式参考資料やウェブサイトはありますか?
答え1
^c
Ctrlは+の一般的な記号です。cここで氏(大文字)文字またはいずれかです@[\]^_
。該当するものを指定します制御文字。その関係は、制御文字の数値コードが、印刷可能文字(文字または句読点)の数値コードから64を引いたものであることです。これは、基本2のビットを0に設定するのと同じです。また、^?
一般に127という文字が表現される。
一部のキーは制御文字を送信します。
- Escape= Ctrl+[
- Tab= Ctrl+I
- Return(またはEnterまたは⏎)= Ctrl+M
- Backspace= Ctrl+?またはCtrl+ H(端末の構成によって異なります)
AltMeta(過去のUnixシステムでは、その場所のキー名であったため、通常これと呼ばれます)は、印刷可能な文字と共に送信(エスケープ)され、^[
その文字が続きます。
^[
ほとんどのファンクションキーとカーソルキーは、文字の後に印刷可能な文字が続くエスケープシーケンスを送信します。詳細は端末とその構成によって異なります。 xterm の場合、デフォルト値は次のドキュメントで説明されています。手動。このマニュアルは初心者のためのマニュアルではありません。以下はいくつかの便利なヒントです。
- CSI は
^[[
、エスケープの後に開くかっこが来ることを意味します。 - SS3 は、
^[O
エスケープ文字の後に大文字 -O が続くことを意味します。 - 「アプリケーションモード」は通常、全画面プログラムが開かれるモードである。歴史的な理由から、一部のキーはこのモードで別のエスケープシーケンスを送信します。 (実際には複数のモードがありますが、実際には競合がないため、重要な場合は両方のモードのエスケープシーケンスをバインドできるため、詳細には説明しません。)
- 修飾子(Shift、、、Ctrl/ )は数値コードで表されますAlt。Metaエスケープシーケンスの最後の文字の前にセミコロンと数字を挿入します。ドキュメントのF5send
^[[15~
とShift+ F5sendの例を見てください^[[15;2~
。送信^[[
と1文字のカーソルキーX、修飾子を表します。中サイズ、エスケープシーケンスは次のとおりです。^[[1;MX
Xtermは次のとおりですANSI規格これは、物理エンドポイントまでさかのぼる過去の使用量に基づいています。ほとんどの最新の端末エミュレータはANSI規格に準拠しており、すべてではありませんが、いくつかのxterm拡張を実装しています。ただし、端末ごとに若干の違いがあります。
したがって:
^X^I
= Ctrl+ X Ctrl+ I= Ctrl+X Tab^[^@
= Ctrl+ Alt+ @= Escape Ctrl+ @。ほとんどの端末では、Ctrl+は= + + = +Spaceも^@
送信します。^[^@
CtrlAltSpaceEscape CtrlSpace^X^[q
= Ctrl+ X Alt+ q= Ctrl+X Escape q^XQ
= Ctrl+ X Shift+q^[[A
=Up^[[1;3A
= Alt+ Up(Up、修飾子を意味する1;M
中サイズ)。多くの端末は、実際にはAlt+に対してこれらのエスケープシーケンスを送信しませんcursor key。^[[1;3D
= Alt+Left^[[1;5C
= Ctrl+Right
エスケープシーケンスに対応するキーを見つけるための一般的で便利な方法はありません。逆に、シェルプロンプト(または多くの端末ベースのエディタで)でコードの後にCtrl+を押すと、V文字通りエスケープシーケンスが挿入されます。
また、見ることができますキーボード入力とテキスト出力はどのように機能しますか?そしてキーバインディングテーブル?
答え2
ギルズは次のような手紙を続けて言及した。
その関係は、制御文字の数字コードが印刷可能文字(文字または文章)の数字コードから64を引いたものであることです。これは、基本2のビットを0に設定するのと同じです。
あなたはできますascii(7)
。 8進数を見る:
Oct Dec Hex Char Oct Dec Hex Char
────────────────────────────────────────────────────────────────────────
000 0 00 NUL '\0' (null character) 100 64 40 @
001 1 01 SOH (start of heading) 101 65 41 A
002 2 02 STX (start of text) 102 66 42 B
003 3 03 ETX (end of text) 103 67 43 C
004 4 04 EOT (end of transmission) 104 68 44 D
005 5 05 ENQ (enquiry) 105 69 45 E
006 6 06 ACK (acknowledge) 106 70 46 F
007 7 07 BEL '\a' (bell) 107 71 47 G
010 8 08 BS '\b' (backspace) 110 72 48 H
011 9 09 HT '\t' (horizontal tab) 111 73 49 I
012 10 0A LF '\n' (new line) 112 74 4A J
013 11 0B VT '\v' (vertical tab) 113 75 4B K
014 12 0C FF '\f' (form feed) 114 76 4C L
015 13 0D CR '\r' (carriage ret) 115 77 4D M
016 14 0E SO (shift out) 116 78 4E N
017 15 0F SI (shift in) 117 79 4F O
020 16 10 DLE (data link escape) 120 80 50 P
021 17 11 DC1 (device control 1) 121 81 51 Q
022 18 12 DC2 (device control 2) 122 82 52 R
023 19 13 DC3 (device control 3) 123 83 53 S
024 20 14 DC4 (device control 4) 124 84 54 T
025 21 15 NAK (negative ack.) 125 85 55 U
026 22 16 SYN (synchronous idle) 126 86 56 V
027 23 17 ETB (end of trans. blk) 127 87 57 W
030 24 18 CAN (cancel) 130 88 58 X
031 25 19 EM (end of medium) 131 89 59 Y
032 26 1A SUB (substitute) 132 90 5A Z
033 27 1B ESC (escape) 133 91 5B [
034 28 1C FS (file separator) 134 92 5C \ '\\'
035 29 1D GS (group separator) 135 93 5D ]
036 30 1E RS (record separator) 136 94 5E ^
037 31 1F US (unit separator) 137 95 5F _
...
077 63 3F ? 177 127 7F DEL
^H
バックスペース文字、^M
キャリッジリターン文字、改行文字^J
、^I
タブ文字、^[
エスケープ文字などに対応します。
答え3
^ 文字はコントロールキーを表します。 ^[はESCAPEまたはASCII 27を生成します。この文脈では、通常、大文字の使用は重要ではなく、^ Aは「a」キーと同時に押すコントロールキーである^ aと同じ意味です。
^[^@ は、ESCAPE の後に control-@ が続くことを意味します。キーボードのレイアウトに応じて「@」を生成するには、ShiftまたはAlt-Grを同時に押す必要があります。
^X^[q は control-x の後に ESCAPE の後に q が続くことを意味します。
^[[1;5C] は、ESCAPE の後に文字列「[1;5C」が続くことを意味します。私にとって、これは、色、太字、斜体などのテキスト属性を変更する端末制御シーケンスのように見えます。
^を使用して制御キーを表すことが標準化されているかどうかはわかりませんが、次のように実行されます。ウィキペディアページ。 ^[と入力してASCII 27を生成することは、おそらくVT100などのDEC端末で始まり、現在は標準です。