Где я нахожу, что список терминальных кодов клавиши повторно отображает ярлыки в ударе?

Обычное место для помещения собственных сценариев ~/bin, и затем добавьте этот каталог к Вашему PATH.

42
21.05.2013, 22:27
4 ответа

Это - последовательности символов, отправленных Вашим терминалом, когда Вы нажимаете данную клавишу. Ничто, чтобы сделать с ударом или readline по сути, но Вы захотите знать, какую последовательность символов данное сочетание клавиш или сочетание клавиш отправляют, если Вы хотите настроить readline сделать что-то после данного нажатия клавиши.

При нажатии клавиши обычно терминалы отправляют a (0x61) символ. Если Вы нажимаете <Ctrl-I> или <Tab>, затем обычно отправляйте ^I символ также известен как TAB или \t (0x9). Большинство функциональных клавиш и клавиш навигации обычно отправляют последовательность символов, которая запускается с ^[ (управление - [), также известный как ESC или \e (0x1b, 033 восьмеричных), но точная последовательность варьируется с терминала на терминал.

Лучший способ узнать, что сочетание клавиш или сочетание клавиш посылают за Вашим терминалом, выполняется sed -n l и вводить сопровождаемый Вводят в клавиатуру. Затем Вы будете видеть что-то как:

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

Первая строка вызывается локальным терминалом echo сделанный оконечным устройством (это не может быть надежно, поскольку настройки оконечного устройства влияли бы на него).

Вторая строка производится sed. $ не должен быть включен, это только, чтобы показать Вам, где конец строки.

Выше этого означает, что Ctrl-Up (который я нажал) отправляет эти 6 символов ESC, [, 1, ;, 5 и A (0x1b 0x5b 0x31 0x3b 0x35 0x41)

terminfo база данных записывает много последовательностей для многих общих ключей для многих терминалов (на основе $TERM значение).

Например:

TERM=rxvt tput kdch1 | sed -n l

Сказал бы Вам, что escape-последовательность, отправляют rxvt после нажатия клавиши Delete.

Можно искать то, с чем ключ соответствует данной последовательности с текущим терминалом infocmp (сюда принятие ncurses infocmp):

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

Сочетания клавиш как Ctrl-Up не имеют соответствующих записей в terminfo база данных, так для обнаружения то, что они отправляют, или читают источник или документацию для соответствующего терминала или испытывают его с sed -n l метод, описанный выше.

53
27.01.2020, 19:35
  • 1
    Это - большое объяснение, Спасибо! Теперь все это встает на свое место, \e-1\C-i назад вкладка, потому что control и i вставляет вкладку и escape сопровождаемый -1 говорит удар, чтобы сделать это назад однажды (я таращил глаза это и нашел некоторый материал о digit-arguments). –  bug 22.05.2013, 13:03
  • 2
    $ sed -n 1 sed: -e expression #1, char 1: missing command –  cnvzmxcvmcx 06.07.2015, 01:23
  • 3
    @vib. Это - нижний регистр L не цифра 1 –  Stéphane Chazelas 06.07.2015, 10:39
  • 4
    @user367890, это до режима вспомогательной клавиатуры. Вы, вероятно, найдете это после tput smkx, Ваш терминал отправляет \e[OD (kcub1) и после tput rmkx, \e[D (cub1, тот же код как последовательность, которая перемещает курсор налево, так, чтобы эхо тех ключей действительно переместило курсор. Попробовать stty -echoctl; tput rmkx; sleep inf и Вы будете видеть, что клавиши со стрелками действительно перемещают курсор если не в режим вспомогательной клавиатуры). –  Stéphane Chazelas 15.07.2016, 10:46
  • 5
    @user367890, от того, что Thomas (ncurses и xterm специалист по обслуживанию) говорит в ответе, который Вы связываете, да, это должно работать. режим вспомогательной клавиатуры или режим приложения относятся к тому же самому, таким образом (снова, по словам Thomas) ключевые спецификации в terminfo базе данных для того, когда smkx включен. –  Stéphane Chazelas 16.07.2016, 09:31

Это обеспечивается через гну readline библиотеку. необходимо изучить человека 3 readline для обнаружения его описания.

Похож на Вас, также нуждаются в информации о том, что делает облизывание кодов escspe \[A средний. Можно найти эту информацию в Википедии ANSI esacape статья кода.

4
27.01.2020, 19:35
  • 1
    Это не объясняет мои примеры. –  bug 21.05.2013, 15:40
  • 2
    Похож на него, был маленький неправильно понятый. Посмотрите на обновление ответа. –  rush 21.05.2013, 16:39
  • 3
    Нет никакой информации о моих определенных примерах в статье. Поиск страницы" [" Возвращенный ничто также. –  bug 21.05.2013, 16:42
  • 4
    @bug чтение тщательно статья. \[A находится в таблице "CSI codes" в строке: "CSI n" –  rush 21.05.2013, 16:44
  • 5
    Спасибо порыв, но где я нахожу объяснения на [Z, [1;5C, или -1 ? –  bug 22.05.2013, 12:28

Эти коды прибывают из того же источника? Последний походит на GNU readline привязка. Это - то, что пользователь отправляет в удар (см. ответ порыва). Первые два, однако, больше походят на терминальные управляющие последовательности (даже при том, что первый был бы плохо сформированным один). Это - то, что удар или другая программа передают обратно эмулятору терминала для управления перемещениями курсора, цветами текста, и т.п..

3
27.01.2020, 19:35
  • 1
    я нашел "\e [1; 5C", чтобы использоваться для ctrl-arrow передают перемещение слова, и "\e [Z" и "\e-1\C-i" для menu-complete-backwards в других учебных руководствах. Они все использовались в .inputrc файле. –  bug 21.05.2013, 15:37
  • 2
    OK, если они интерпретируются readline затем, должен быть некоторым эмулятором терминала, где эти управляющие последовательности связываются с некоторой комбинацией ctrl, высокого звука и/или сдвига с функциональными клавишами или клавишами со стрелками. (Я не знаю который.) –  Uwe 21.05.2013, 16:59

Ctrl + V работает только для некоторых символов (не показывает Вкладка ,Шапки , клавиши громкости, Экран печати , Домой , Конец , Пауза , Отключение звука)C -v также не допускает обратного перевода или, другими словами, просмотра существующих привязок и того, какие ключи они представляют.

Это работает для большинства клавишных символов, но лучше всего использовать

dumpkey -1 >> mapreference

, чтобы получить полную таблицу кодов клавиш. -сигнал, который ваша конкретная клавиатура отправляет при каждом нажатии клавиши. Эти коды клавиш соответствуют вашему файлу карты (в папке Arch:/usr/share/kbd/keymap/*/**), но dumpkeysпроще, потому что все ваши сопоставления хранятся в одном месте.

Далее вам понадобятся таблицы перевода в зависимости от того, в каком формате они имеют ключ.

Таблицы перевода ASCII

Восьмеричный

  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

УТФ -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

Десятичный/Шестнадцатеричный

  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 символа в каждой таблице являются зарезервированными управляющими символами. Управляющие символы не являются печатными. Они используются для отправки команд на ПК.

Теперь, если вы хотите что-то забавное, но также и полезное, я работаю над сценарием внедрения управляющей последовательности. Он использует fzfи ripgrepиfd-find(rustи пишет -от find), но на основе вашего термина. In выводит ваши возможности термина в окно, а затем позволяет вам рекурсивно искать справочную страницу термина для команды под курсором (, она идет имя -> escape-последовательность в этом порядке ).

Выберите и нажмите 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 все еще выполняется, но она будет печатать все доступные терминалы, а затем, как только вы выберете один, переключится на другую команду, чтобы вы могли видеть, какой терминал занят. escape-последовательность командной строки, которую вы ищете.

2
28.09.2020, 09:10

Теги

Похожие вопросы