Bash에서 단축키를 다시 매핑하기 위한 터미널 키 코드 목록은 어디에서 찾을 수 있나요?

Bash에서 단축키를 다시 매핑하기 위한 터미널 키 코드 목록은 어디에서 찾을 수 있나요?

예를 들어:

"\e[1;5C"
"\e[Z"
"\e-1\C-i"

\e저는 escape를 나타내는 것과 C-for 등 몇 가지 부분만 알고 있는데 , Ctrl이 숫자( 1)와 문자( ) Z는 무엇일까요 ? ;, [및 기호는 무엇을 나타냅니까 -?

시행착오에 불과합니까, 아니면 bash 키코드의 전체 목록과 해당 구문이 설명되어 있습니까?

답변1

이는 특정 키를 누를 때 터미널에서 전송되는 일련의 문자입니다. bash나 readline 자체와는 아무 관련이 없지만, 특정 키를 눌렀을 때 수행할 작업을 구성하려면 readline특정 키나 키 조합으로 전송되는 문자 순서를 알아야 합니다.

이 키를 누르면 A일반적으로 터미널은 a(0x61) 문자를 보냅니다. <Ctrl-I>또는 를 <Tab>누르면 일반적 ^I으로 전송되는 문자도 TAB또는 \t(0x9)로 호출됩니다. 대부분의 기능 키와 탐색 키는 일반적 으로 또는 (0x1b, 8진수 033) ^[이라고도 하는 (control-[)로 시작하는 일련의 문자를 전송 하지만 정확한 순서는 터미널마다 다릅니다.ESC\e

키 또는 키 조합이 터미널에 보내는 내용을 알아내는 가장 좋은 방법은 해당 키를 실행하고 키보드에서 입력하는 것입니다 sed -n l. Enter그러면 다음과 같은 내용이 표시됩니다.

$ sed -n l
^[[1;5A
\033[1;5A$

첫 번째 줄은 echo터미널 장치에 의해 수행되는 로컬 터미널로 인해 발생합니다(터미널 장치 설정이 영향을 미칠 수 있으므로 신뢰할 수 없음).

두 번째 줄은 에 의해 출력됩니다 sed. 포함되지 않음 $, 단지 줄의 끝이 어디에 있는지 보여줍니다.

위의 내용은 Ctrl-Up(내가 누른 것) 6자 ESC, [, 1, ;및 (0x1b 0x5b 0x31 0x3b 0x35 0x41)을 전송한다는 의미입니다 5.A

데이터베이스는 여러 엔드포인트에 대한 여러 공개 키의 terminfo여러 시퀀스(값 기준)를 기록합니다 .$TERM

예를 들어:

TERM=rxvt tput kdch1 | sed -n l

rxvt키를 눌렀을 때 어떤 이스케이프 시퀀스가 ​​전송되는지 알려줍니다 Delete.

현재 터미널을 사용하여 주어진 시퀀스에 해당하는 키를 찾을 수 있습니다 (여기에서는 infocmp infocmp로 가정 ).ncurses

$ infocmp -L1 | grep -F '=\E[Z'
    back_tab=\E[Z,
    key_btab=\E[Z,

이와 같은 키 조합은 Ctrl-Up데이터베이스에 해당 항목이 없으므로 이들이 보내는 내용을 이해하려면 해당 터미널의 소스 코드나 설명서를 읽거나 terminfo위의 방법을 사용하여 시도해 보세요.sed -n l

답변2

readlineGNU 라이브러리를 통해 제공 됩니다 . 당신은 그것을 조사해야합니다man 3 readline설명을 알아보세요.

이스케이프 코드 등의 의미에 대한 \[A정보 도 필요한 것 같습니다. 이 정보는 Wikipedia에서 찾을 수 있습니다.ANSI 이스케이프 코드기사.

답변3

키 또는 키 조합에 의해 생성된 이스케이프 시퀀스를 확인하는 가장 쉬운 방법은 터미널에서 +를 누른 Ctrl다음 알고 싶은 키/조합을 누르는 것입니다.v

비슷한 시퀀스를 얻게 되며 키 바인딩 시스템이 기대하는 이스케이프 문자 로 변환 하거나 다른 표현 으로 ^[Oa변환해야 합니다 .^[\e\033\x1b

이는 and라는 Emacs 함수로 시작되었으며 quoted-insertBash와 Zsh의 기본 키 바인딩은 Emacs를 모방하므로 이를 복사하기도 했습니다.

import rlcompleterBash는 Python 향상 및 기타 기능 에서도 사용되는 GNU Readline 입력 라이브러리를 통해 이를 가져옵니다 .

에서 나온 설명입니다온라인 매뉴얼을 읽어보세요:

quoted-insert( C-q또는 C-v)

입력한 다음 문자를 줄 그대로 추가합니다. 예를 들어, 키 시퀀스를 삽입하는 방법은 다음과 같습니다 C-q.

이것은 작동해야합니다아무것GNU Readline을 기반으로 합니다.

C-qZsh의 경우 Vi 모드에서만 원래 Emacs 바인딩을 존중하지만 아이러니하게도 C-v기본 Emacs와 유사한 입력 모드에서는 여전히 작동하는 자체 대안인 ZLE를 사용합니다 . ( 또는 매뉴얼 페이지 quoted-insert에서 검색하면 두 번째 결과 쌍에 기본 키 바인딩이 나열되어야 합니다.)zshzlezshall

Ctrl니모닉의 경우 +를 v요청하는 것으로 처리하는 것이 좋습니다.V엘바팀.

답변4

Ctrl+는 V특정 문자에만 작동합니다( 볼륨 키, , , , 는 표시하지 않음) . Cv는 역번역도 허용하지 않습니다 Tab. 즉, 기존 바인딩과 해당 키가 나타내는 키를 볼 수 없습니다.CapsPrint ScreenHomeEndPauseMute

가장 중요한 역할에 효과적이지만 가장 좋은 방법은 다음을 사용하는 것입니다.

dumpkey -1 >> mapreference

전체 키코드 표(키를 누를 때마다 특정 키보드가 보내는 신호)를 얻으세요. 이러한 키코드는 지도 파일( Arch: /usr/share/kbd/keymap/*/**폴더에 있음)과 일치하지만 dumpkeys모든 매핑이 한 위치에 저장되므로 더 쉽습니다.

다음으로, 입력한 형식에 따라 테이블을 변환해야 합니다.

ASCII 변환 테이블

8진수

  000 NUL   020 DLE   040     060 0   100 @   120 P   140 `   160 p 
  001 SOH   021 DC1   041 !   061 1   101 A   121 Q   141 a   161 q 
  002 STX   022 DC2   042 "   062 2   102 B   122 R   142 b   162 r 
  003 ETX   023 DC3   043 #   063 3   103 C   123 S   143 c   163 s 
  004 EOT   024 DC4   044 $   064 4   104 D   124 T   144 d   164 t 
  005 ENQ   025 NAK   045 %   065 5   105 E   125 U   145 e   165 u 
  006 ACK   026 SYN   046 &   066 6   106 F   126 V   146 f   166 v 
  007 BEL   027 ETB   047 '   067 7   107 G   127 W   147 g   167 w 
  010 BS    030 CAN   050 (   070 8   110 H   130 X   150 h   170 x 
  011 HT    031 EM    051 )   071 9   111 I   131 Y   151 i   171 y 
  012 LF    032 SUB   052 *   072 :   112 J   132 Z   152 j   172 z 
  013 VT    033 ESC   053 +   073 ;   113 K   133 [   153 k   173 { 
  014 FF    034 FS    054 ,   074 <   114 L   134 \   154 l   174 | 
  015 CR    035 GS    055 -   075 =   115 M   135 ]   155 m   175 } 
  016 SO    036 RS    056 .   076 >   116 N   136 ^   156 n   176 ~ 
  017 SI    037 US    057 /   077 ?   117 O   137 _   157 o   177 DEL 

바이너리

   0000000 NUL    0010000 DLE    0100000      0110000 0    1000000 @    1010000 P    1100000 `    1110000 p
   0000001 SOH    0010001 DC1    0100001 !    0110001 1    1000001 A    1010001 Q    1100001 a    1110001 q
   0000010 STX    0010010 DC2    0100010 "    0110010 2    1000010 B    1010010 R    1100010 b    1110010 r
   0000011 ETX    0010011 DC3    0100011 #    0110011 3    1000011 C    1010011 S    1100011 c    1110011 s
   0000100 EOT    0010100 DC4    0100100 $    0110100 4    1000100 D    1010100 T    1100100 d    1110100 t
   0000101 ENQ    0010101 NAK    0100101 %    0110101 5    1000101 E    1010101 U    1100101 e    1110101 u
   0000110 ACK    0010110 SYN    0100110 &    0110110 6    1000110 F    1010110 V    1100110 f    1110110 v
   0000111 BEL    0010111 ETB    0100111 '    0110111 7    1000111 G    1010111 W    1100111 g    1110111 w
   0001000 BS     0011000 CAN    0101000 (    0111000 8    1001000 H    1011000 X    1101000 h    1111000 x
   0001001 HT     0011001 EM     0101001 )    0111001 9    1001001 I    1011001 Y    1101001 i    1111001 y
   0001010 LF     0011010 SUB    0101010 *    0111010 :    1001010 J    1011010 Z    1101010 j    1111010 z
   0001011 VT     0011011 ESC    0101011 +    0111011 ;    1001011 K    1011011 [    1101011 k    1111011 {
   0001100 FF     0011100 FS     0101100 ,    0111100 <    1001100 L    1011100 \    1101100 l    1111100 |
   0001101 CR     0011101 GS     0101101 -    0111101 =    1001101 M    1011101 ]    1101101 m    1111101 }
   0001110 SO     0011110 RS     0101110 .    0111110 >    1001110 N    1011110 ^    1101110 n    1111110 ~
   0001111 SI     0011111 US     0101111 /    0111111 ?    1001111 O    1011111 _    1101111 o    1111111 DEL

UTF-8

Unicode 
Code Point         Character           UTF-8(hex)         Name

U+0000                                  00               <control>
U+0001                                  01               <control>
U+0002                                  02               <control>
U+0003                                  03               <control>
U+0004                                  04               <control>
U+0005                                  05               <control>
U+0006                                  06               <control>
U+0007                                  07               <control>
U+0008                                  08               <control>
U+0009                                  09               <control>
U+000A                                  0a               <control>
U+000B                                  0b               <control>
U+000C                                  0c               <control>
U+000D                                  0d               <control>
U+000E                                  0e               <control>
U+000F                                  0f               <control>
U+0010                                  10               <control>
U+0011                                  11               <control>
U+0012                                  12               <control>
U+0013                                  13               <control>
U+0014                                  14               <control>
U+0015                                  15               <control>
U+0016                                  16               <control>
U+0017                                  17               <control>
U+0018                                  18               <control>
U+0019                                  19               <control>
U+001A                                  1a               <control>
U+001B                                  1b               <control>
U+001C                                  1c               <control>
U+001D                                  1d               <control>
U+001E                                  1e               <control>
U+001F                                  1f               <control>
U+0020                                  20               SPACE
U+0021                  !               21               EXCLAMATION MARK
U+0022                  "               22               QUOTATION MARK
U+0023                  #               23               NUMBER SIGN
U+0024                  $               24               DOLLAR SIGN
U+0025                  %               25               PERCENT SIGN
U+0026                  &               26               AMPERSAND
U+0027                  '               27               APOSTROPHE
U+0028                  (               28               LEFT PARENTHESIS
U+0029                  )               29               RIGHT PARENTHESIS
U+002A                  *               2a               ASTERISK
U+002B                  +               2b               PLUS SIGN
U+002C                  ,               2c               COMMA
U+002D                  -               2d               HYPHEN-MINUS
U+002E                  .               2e               FULL STOP
U+002F                  /               2f               SOLIDUS
U+0030                  0               30               DIGIT ZERO
U+0031                  1               31               DIGIT ONE
U+0032                  2               32               DIGIT TWO
U+0033                  3               33               DIGIT THREE
U+0034                  4               34               DIGIT FOUR
U+0035                  5               35               DIGIT FIVE
U+0036                  6               36               DIGIT SIX
U+0037                  7               37               DIGIT SEVEN
U+0038                  8               38               DIGIT EIGHT
U+0039                  9               39               DIGIT NINE
U+003A                  :               3a               COLON
U+003B                  ;               3b               SEMICOLON
U+003C                  <               3c               LESS-THAN SIGN
U+003D                  =               3d               EQUALS SIGN
U+003E                  >               3e               GREATER-THAN SIGN
U+003F                  ?               3f               QUESTION MARK
U+0040                  @               40               COMMERCIAL AT
U+0041                  A               41               LATIN CAPITAL LETTER A
U+0042                  B               42               LATIN CAPITAL LETTER B
U+0043                  C               43               LATIN CAPITAL LETTER C
U+0044                  D               44               LATIN CAPITAL LETTER D
U+0045                  E               45               LATIN CAPITAL LETTER E
U+0046                  F               46               LATIN CAPITAL LETTER F
U+0047                  G               47               LATIN CAPITAL LETTER G
U+0048                  H               48               LATIN CAPITAL LETTER H
U+0049                  I               49               LATIN CAPITAL LETTER I
U+004A                  J               4a               LATIN CAPITAL LETTER J
U+004B                  K               4b               LATIN CAPITAL LETTER K
U+004C                  L               4c               LATIN CAPITAL LETTER L
U+004D                  M               4d               LATIN CAPITAL LETTER M
U+004E                  N               4e               LATIN CAPITAL LETTER N
U+004F                  O               4f               LATIN CAPITAL LETTER O
U+0050                  P               50               LATIN CAPITAL LETTER P
U+0051                  Q               51               LATIN CAPITAL LETTER Q
U+0052                  R               52               LATIN CAPITAL LETTER R
U+0053                  S               53               LATIN CAPITAL LETTER S
U+0054                  T               54               LATIN CAPITAL LETTER T
U+0055                  U               55               LATIN CAPITAL LETTER U
U+0056                  V               56               LATIN CAPITAL LETTER V
U+0057                  W               57               LATIN CAPITAL LETTER W
U+0058                  X               58               LATIN CAPITAL LETTER X
U+0059                  Y               59               LATIN CAPITAL LETTER Y
U+005A                  Z               5a               LATIN CAPITAL LETTER Z
U+005B                  [               5b               LEFT SQUARE BRACKET
U+005C                  \               5c               REVERSE SOLIDUS
U+005D                  ]               5d               RIGHT SQUARE BRACKET
U+005E                  ^               5e               CIRCUMFLEX ACCENT
U+005F                  _               5f               LOW LINE
U+0060                  `               60               GRAVE ACCENT
U+0061                  a               61               LATIN SMALL LETTER A
U+0062                  b               62               LATIN SMALL LETTER B
U+0063                  c               63               LATIN SMALL LETTER C
U+0064                  d               64               LATIN SMALL LETTER D
U+0065                  e               65               LATIN SMALL LETTER E
U+0066                  f               66               LATIN SMALL LETTER F
U+0067                  g               67               LATIN SMALL LETTER G
U+0068                  h               68               LATIN SMALL LETTER H
U+0069                  i               69               LATIN SMALL LETTER I
U+006A                  j               6a               LATIN SMALL LETTER J
U+006B                  k               6b               LATIN SMALL LETTER K
U+006C                  l               6c               LATIN SMALL LETTER L
U+006D                  m               6d               LATIN SMALL LETTER M
U+006E                  n               6e               LATIN SMALL LETTER N
U+006F                  o               6f               LATIN SMALL LETTER O
U+0070                  p               70               LATIN SMALL LETTER P
U+0071                  q               71               LATIN SMALL LETTER Q
U+0072                  r               72               LATIN SMALL LETTER R
U+0073                  s               73               LATIN SMALL LETTER S
U+0074                  t               74               LATIN SMALL LETTER T
U+0075                  u               75               LATIN SMALL LETTER U
U+0076                  v               76               LATIN SMALL LETTER V
U+0077                  w               77               LATIN SMALL LETTER W
U+0078                  x               78               LATIN SMALL LETTER X
U+0079                  y               79               LATIN SMALL LETTER Y
U+007A                  z               7a               LATIN SMALL LETTER Z
U+007B                  {               7b               LEFT CURLY BRACKET
U+007C                  |               7c               VERTICAL LINE
U+007D                  }               7d               RIGHT CURLY BRACKET
U+007E                  ~               7e               TILDE
U+007F                                  7f               <control>
U+0080                                  c2 80            <control>
U+0081                                  c2 81            <control>
U+0082                                  c2 82            <control>
U+0083                                  c2 83            <control>
U+0084                                  c2 84            <control>
U+0085                                  c2 85            <control>
U+0086                                  c2 86            <control>
U+0087                                  c2 87            <control>
U+0088                                  c2 88            <control>
U+0089                                  c2 89            <control>
U+008A                                  c2 8a            <control>
U+008B                                  c2 8b            <control>
U+008C                                  c2 8c            <control>
U+008D                                  c2 8d            <control>
U+008E                                  c2 8e            <control>
U+008F                                  c2 8f            <control>
U+0090                                  c2 90            <control>
U+0091                                  c2 91            <control>
U+0092                                  c2 92            <control>
U+0093                                  c2 93            <control>
U+0094                                  c2 94            <control>
U+0095                                  c2 95            <control>
U+0096                                  c2 96            <control>
U+0097                                  c2 97            <control>
U+0098                                  c2 98            <control>
U+0099                                  c2 99            <control>
U+009A                                  c2 9a            <control>
U+009B                                  c2 9b            <control>
U+009C                                  c2 9c            <control>
U+009D                                  c2 9d            <control>
U+009E                                  c2 9e            <control>
U+009F                                  c2 9f            <control>
U+00A0                                  c2 a0            NO-BREAK SPACE
U+00A1                  ¡               c2 a1            INVERTED EXCLAMATION MARK
U+00A2                  ¢               c2 a2            CENT SIGN
U+00A3                  £               c2 a3            POUND SIGN
U+00A4                  ¤               c2 a4            CURRENCY SIGN
U+00A5                  ¥               c2 a5            YEN SIGN
U+00A6                  ¦               c2 a6            BROKEN BAR
U+00A7                  §               c2 a7            SECTION SIGN
U+00A8                  ¨               c2 a8            DIAERESIS
U+00A9                  ©               c2 a9            COPYRIGHT SIGN
U+00AA                  ª               c2 aa            FEMININE ORDINAL INDICATOR
U+00AB                  «               c2 ab            LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
U+00AC                  ¬               c2 ac            NOT SIGN
U+00AD                  ­                c2 ad            SOFT HYPHEN
U+00AE                  ®               c2 ae            REGISTERED SIGN
U+00AF                  ¯               c2 af            MACRON
U+00B0                  °               c2 b0            DEGREE SIGN
U+00B1                  ±               c2 b1            PLUS-MINUS SIGN
U+00B2                  ²               c2 b2            SUPERSCRIPT TWO
U+00B3                  ³               c2 b3            SUPERSCRIPT THREE
U+00B4                  ´               c2 b4            ACUTE ACCENT
U+00B5                  µ               c2 b5            MICRO SIGN
U+00B6                  ¶               c2 b6            PILCROW SIGN
U+00B7                  ·               c2 b7            MIDDLE DOT
U+00B8                  ¸               c2 b8            CEDILLA
U+00B9                  ¹               c2 b9            SUPERSCRIPT ONE
U+00BA                  º               c2 ba            MASCULINE ORDINAL INDICATOR
U+00BB                  »               c2 bb            RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
U+00BC                  ¼               c2 bc            VULGAR FRACTION ONE QUARTER
U+00BD                  ½               c2 bd            VULGAR FRACTION ONE HALF
U+00BE                  ¾               c2 be            VULGAR FRACTION THREE QUARTERS
U+00BF                  ¿               c2 bf            INVERTED QUESTION MARK
U+00C0                  À               c3 80            LATIN CAPITAL LETTER A WITH GRAVE
U+00C1                  Á               c3 81            LATIN CAPITAL LETTER A WITH ACUTE
U+00C2                  Â               c3 82            LATIN CAPITAL LETTER A WITH CIRCUMFLEX
U+00C3                  Ã               c3 83            LATIN CAPITAL LETTER A WITH TILDE
U+00C4                  Ä               c3 84            LATIN CAPITAL LETTER A WITH DIAERESIS
U+00C5                  Å               c3 85            LATIN CAPITAL LETTER A WITH RING ABOVE
U+00C6                  Æ               c3 86            LATIN CAPITAL LETTER AE
U+00C7                  Ç               c3 87            LATIN CAPITAL LETTER C WITH CEDILLA
U+00C8                  È               c3 88            LATIN CAPITAL LETTER E WITH GRAVE
U+00C9                  É               c3 89            LATIN CAPITAL LETTER E WITH ACUTE
U+00CA                  Ê               c3 8a            LATIN CAPITAL LETTER E WITH CIRCUMFLEX
U+00CB                  Ë               c3 8b            LATIN CAPITAL LETTER E WITH DIAERESIS
U+00CC                  Ì               c3 8c            LATIN CAPITAL LETTER I WITH GRAVE
U+00CD                  Í               c3 8d            LATIN CAPITAL LETTER I WITH ACUTE
U+00CE                  Î               c3 8e            LATIN CAPITAL LETTER I WITH CIRCUMFLEX
U+00CF                  Ï               c3 8f            LATIN CAPITAL LETTER I WITH DIAERESIS
U+00D0                  Ð               c3 90            LATIN CAPITAL LETTER ETH
U+00D1                  Ñ               c3 91            LATIN CAPITAL LETTER N WITH TILDE
U+00D2                  Ò               c3 92            LATIN CAPITAL LETTER O WITH GRAVE
U+00D3                  Ó               c3 93            LATIN CAPITAL LETTER O WITH ACUTE
U+00D4                  Ô               c3 94            LATIN CAPITAL LETTER O WITH CIRCUMFLEX
U+00D5                  Õ               c3 95            LATIN CAPITAL LETTER O WITH TILDE
U+00D6                  Ö               c3 96            LATIN CAPITAL LETTER O WITH DIAERESIS
U+00D7                  ×               c3 97            MULTIPLICATION SIGN
U+00D8                  Ø               c3 98            LATIN CAPITAL LETTER O WITH STROKE
U+00D9                  Ù               c3 99            LATIN CAPITAL LETTER U WITH GRAVE
U+00DA                  Ú               c3 9a            LATIN CAPITAL LETTER U WITH ACUTE
U+00DB                  Û               c3 9b            LATIN CAPITAL LETTER U WITH CIRCUMFLEX
U+00DC                  Ü               c3 9c            LATIN CAPITAL LETTER U WITH DIAERESIS
U+00DD                  Ý               c3 9d            LATIN CAPITAL LETTER Y WITH ACUTE
U+00DE                  Þ               c3 9e            LATIN CAPITAL LETTER THORN
U+00DF                  ß               c3 9f            LATIN SMALL LETTER SHARP S
U+00E0                  à               c3 a0            LATIN SMALL LETTER A WITH GRAVE
U+00E1                  á               c3 a1            LATIN SMALL LETTER A WITH ACUTE
U+00E2                  â               c3 a2            LATIN SMALL LETTER A WITH CIRCUMFLEX
U+00E3                  ã               c3 a3            LATIN SMALL LETTER A WITH TILDE
U+00E4                  ä               c3 a4            LATIN SMALL LETTER A WITH DIAERESIS
U+00E5                  å               c3 a5            LATIN SMALL LETTER A WITH RING ABOVE
U+00E6                  æ               c3 a6            LATIN SMALL LETTER AE
U+00E7                  ç               c3 a7            LATIN SMALL LETTER C WITH CEDILLA
U+00E8                  è               c3 a8            LATIN SMALL LETTER E WITH GRAVE
U+00E9                  é               c3 a9            LATIN SMALL LETTER E WITH ACUTE
U+00EA                  ê               c3 aa            LATIN SMALL LETTER E WITH CIRCUMFLEX
U+00EB                  ë               c3 ab            LATIN SMALL LETTER E WITH DIAERESIS
U+00EC                  ì               c3 ac            LATIN SMALL LETTER I WITH GRAVE
U+00ED                  í               c3 ad            LATIN SMALL LETTER I WITH ACUTE
U+00EE                  î               c3 ae            LATIN SMALL LETTER I WITH CIRCUMFLEX
U+00EF                  ï               c3 af            LATIN SMALL LETTER I WITH DIAERESIS
U+00F0                  ð               c3 b0            LATIN SMALL LETTER ETH
U+00F1                  ñ               c3 b1            LATIN SMALL LETTER N WITH TILDE
U+00F2                  ò               c3 b2            LATIN SMALL LETTER O WITH GRAVE
U+00F3                  ó               c3 b3            LATIN SMALL LETTER O WITH ACUTE
U+00F4                  ô               c3 b4            LATIN SMALL LETTER O WITH CIRCUMFLEX
U+00F5                  õ               c3 b5            LATIN SMALL LETTER O WITH TILDE
U+00F6                  ö               c3 b6            LATIN SMALL LETTER O WITH DIAERESIS
U+00F7                  ÷               c3 b7            DIVISION SIGN
U+00F8                  ø               c3 b8            LATIN SMALL LETTER O WITH STROKE
U+00F9                  ù               c3 b9            LATIN SMALL LETTER U WITH GRAVE
U+00FA                  ú               c3 ba            LATIN SMALL LETTER U WITH ACUTE
U+00FB                  û               c3 bb            LATIN SMALL LETTER U WITH CIRCUMFLEX
U+00FC                  ü               c3 bc            LATIN SMALL LETTER U WITH DIAERESIS
U+00FD                  ý               c3 bd            LATIN SMALL LETTER Y WITH ACUTE
U+00FE                  þ               c3 be            LATIN SMALL LETTER THORN
U+00FF                  ÿ               c3 bf            LATIN SMALL LETTER Y WITH DIAERESIS

10진수/16진수

  Dec Hex    Dec Hex    Dec Hex  Dec Hex  Dec Hex  Dec Hex   Dec Hex   Dec Hex  
  0 00 NUL  16 10 DLE  32 20    48 30 0  64 40 @  80 50 P   96 60 `  112 70 p
  1 01 SOH  17 11 DC1  33 21 !  49 31 1  65 41 A  81 51 Q   97 61 a  113 71 q
  2 02 STX  18 12 DC2  34 22 "  50 32 2  66 42 B  82 52 R   98 62 b  114 72 r
  3 03 ETX  19 13 DC3  35 23 #  51 33 3  67 43 C  83 53 S   99 63 c  115 73 s
  4 04 EOT  20 14 DC4  36 24 $  52 34 4  68 44 D  84 54 T  100 64 d  116 74 t
  5 05 ENQ  21 15 NAK  37 25 %  53 35 5  69 45 E  85 55 U  101 65 e  117 75 u
  6 06 ACK  22 16 SYN  38 26 &  54 36 6  70 46 F  86 56 V  102 66 f  118 76 v
  7 07 BEL  23 17 ETB  39 27 '  55 37 7  71 47 G  87 57 W  103 67 g  119 77 w
  8 08 BS   24 18 CAN  40 28 (  56 38 8  72 48 H  88 58 X  104 68 h  120 78 x
  9 09 HT   25 19 EM   41 29 )  57 39 9  73 49 I  89 59 Y  105 69 i  121 79 y
 10 0A LF   26 1A SUB  42 2A *  58 3A :  74 4A J  90 5A Z  106 6A j  122 7A z
 11 0B VT   27 1B ESC  43 2B +  59 3B ;  75 4B K  91 5B [  107 6B k  123 7B {
 12 0C FF   28 1C FS   44 2C ,  60 3C <  76 4C L  92 5C \  108 6C l  124 7C |
 13 0D CR   29 1D GS   45 2D -  61 3D =  77 4D M  93 5D ]  109 6D m  125 7D }
 14 0E SO   30 1E RS   46 2E .  62 3E >  78 4E N  94 5E ^  110 6E n  126 7E ~
 15 0F SI   31 1F US   47 2F /  63 3F ?  79 4F O  95 5F _  111 6F o  127 7F DEL

각 테이블의 처음 32자는 예약된 제어 문자입니다. 제어 문자는 인쇄 가능한 문자가 아닙니다. PC에 명령을 보내는 데 사용됩니다.

이제 재미있지만 유용한 것을 원하신다면 제가 작업 중인 이스케이프 시퀀스 삽입 스크립트를 참조하세요. fzfand ripgrepfd-find( rust의 쓰기 )를 사용 find하지만 귀하의 용어를 기반으로 합니다. In은 용어 기능을 창에 인쇄한 다음 커서 아래의 명령에 대해 용어 정보 매뉴얼 페이지를 반복적으로 검색할 수 있게 해줍니다(이름 -> 이스케이프 시퀀스 순서에 있음).

선택하고 클릭하면 Enter따옴표 사이와 뒤에 있는 명령줄에 인쇄되지만 echo -e " "실행되지는 않습니다(어리석은 짓을 하기 전에 볼 수 있도록).

#!/bin/bash !
fzfcmp () {
    local term
    local FZF_DEFAULT_COMMAND
    FZF_DEFAULT_COMMAND="infocmp $TERM -1"
    term="$(
    infocmp "${_termchoice:-"$TERM"}" -1 | tr '=' '\n' | \
       tr '\t' '' | \
      sed 's/,$//' | fzf \
      --preview='man terminfo | rg -C10 -e {q}' \
        --preview-window='right:80:wrap' --phony \
        --bind="f9:reload:changeterm"
    unset _termchoice
    )"


 if test -n "$(rg -e 'echo' <<<"$READLINE_LINE")"; then
    READLINE_LINE="${READLINE_LINE:0:$READLINE_POINT} $(awk -F= '{print $1}' <<<"${term:-''}" \
    | sed 's/,$//') ${READLINE_LINE:$READLINE_POINT}";
    else
    READLINE_LINE="$(echo 'echo -e' \"${READLINE_LINE:0:$READLINE_POINT} $(awk -F= '{print $1}' <<<"${term:-''}" \
        | sed 's/,$//') ${READLINE_LINE:$READLINE_POINT}\")"
 fi
  READLINE_POINT=$(( ${#term} + READLINE_POINT ))
unset term
}

termfilter () {
    Fzvar="$@"
    local Fzvar
    query="$Fzvar:-"command rg {}"j
fd -uu  . -t f --full-path /usr/share/terminfo -x rg --files-with-matches "\${_query:-"${1:-"/E}"}"

}

fztin () {
if [[ -z "$1" ]]; then
Fvar="."; else
Fvar="$1"
fi
local query
_query "$@"
termfilter  \
  | awk -F/ '{print  $NF}' \
  | sort -u \
  | fzf --bind="alt-p:execute:echo $(infocmp {}) >> $HOME/tmp/{}.tmp" \
  --preview-window "right:85:wrap" \
  --preview="cnat; infocmp {} -l ";
}

changeterm () {
local _termchoice
eval "${_termchoice=+:$(fztin "$@")}" | fzfcmp
}

bind -x '"\et": fzfcmp'
#bind -x '"\em": changeterm  '

Alt+기능은 M아직 작업 중이지만 사용 가능한 모든 터미널을 인쇄한 다음 터미널을 선택하면 다른 명령으로 전환하여 찾고 있는 명령줄 이스케이프 시퀀스가 ​​있는 터미널을 확인할 수 있습니다.

관련 정보