Квадратный кронштейн квадратной скобки A ^ [[A – Что это значит?

Извиняюсь, если это уже было задано, но я понятия не имею, как я могу это узнать сам – когда я ищу «^ [[А» в любой поисковой системе, он игнорирует «^ [[» часть вообще.

В любом случае, мой вопрос: иногда в терминале (на Mac), когда я нажимаю клавиши со стрелками, появляются символы «^ [[A», «^ [[B», «^ [[C» или «^ [[D» , Кажется, я помню, как встречался этот год назад при использовании (скорее всего) DOS, и я думаю, что это происходило намного чаще.

Почему это происходит и что они означают?

One Solution collect form web for “Квадратный кронштейн квадратной скобки A ^ [[A – Что это значит?”

Это escape-коды ANSI . ^[ Представляет символ ESC (escape), следующий [ является фактической левой квадратной скобкой, а буква указывает функцию escape-кода). Esc [ часть называется CSI (Control Sequence Introductioncer). Таким образом, последовательность CSI A означает стрелку вверх или CUU (CUrsor Up).

Во всяком случае, эта схема восходит ко времени вывода терминала VT100 (введена в 1978 году). Некоторые из управляющих последовательностей, используемые VT100, были стандартизованы ANSI в начале 1980-х годов и с тех пор оставались в общих чертах.

Обычно, когда вы нажимаете клавиши со стрелками, какая-то программа (скажем, оболочка) прослушивает и может действовать на них. Поэтому, когда вы нажимаете стрелку вверх, она прокручивается назад в вашей истории команд. Однако, если запущена программа, которая не понимает escape-последовательности для клавиш со стрелками, они обычно заканчивают тем, что возвращаются обратно на терминал, как и любой другой ключ, который вы могли бы нанести. Поэтому вы иногда видите ^[[A если вы нажимаете клавишу со стрелкой вверх.

  • Как определить текущий цвет вывода консоли?
  • Есть ли какие-либо объективные преимущества для escape-последовательностей по сравнению с tput?
  • Визуализация кода escape-кода ansi в файлах журналов правильно в Emacs
  • Является ли символ `\` escape или становится частью моего пароля ssh key
  • Выход из режима «>» в ​​оболочке Unix
  • Как использовать меньше в скрипте без получения ESC escape-символов?
  • Понимание Escaping
  • Как избежать атак с помощью последовательной атаки в терминалах?
  • Почему я не могу отправлять escape-последовательности с клавиатуры, но могу сделать это из другого tty?
  • печать цветов ansi / escape-кодов с помощью a2ps
  • Гармонический текст в меню tmux
  • Linux и Unix - лучшая ОС в мире.