Добавить в корзинуПозвонить
Найти в Дзене
Типичный программист

В терминале всего 33 Ctrl-шортката — и это не случайность

Замечали, что Ctrl-1 ничего не делает, а Ctrl-A работает? ASCII физически даёт только 33 control-кода — остальные комбинации терминал либо игнорирует, либо превращает в ANSI escape-последовательность (управляющие символы для цвета и позиционирования курсора). Julia Evans разобрала всю таблицу. Ctrl-M и Enter — буквально один байт (код 13), исторически так сложилось. Ctrl-коды обрабатываются на трёх уровнях: одни забирает ОС, другие — bash или readline (библиотека редактирования командной строки), третьи добираются до приложения. Отсюда конфликты: Ctrl-S «зависает» терминал из-за поведения ОС, унаследованного из эпохи аппаратного управления потоком данных. Большинство нажимали эти комбинации годами, не задаваясь вопросом «почему». Теперь есть разбор целиком на Tproger. @tproger Читайте также в VK, Max и Дзен

В терминале всего 33 Ctrl-шортката — и это не случайность

Замечали, что Ctrl-1 ничего не делает, а Ctrl-A работает? ASCII физически даёт только 33 control-кода — остальные комбинации терминал либо игнорирует, либо превращает в ANSI escape-последовательность (управляющие символы для цвета и позиционирования курсора).

Julia Evans разобрала всю таблицу. Ctrl-M и Enter — буквально один байт (код 13), исторически так сложилось. Ctrl-коды обрабатываются на трёх уровнях: одни забирает ОС, другие — bash или readline (библиотека редактирования командной строки), третьи добираются до приложения. Отсюда конфликты: Ctrl-S «зависает» терминал из-за поведения ОС, унаследованного из эпохи аппаратного управления потоком данных.

Большинство нажимали эти комбинации годами, не задаваясь вопросом «почему». Теперь есть разбор целиком на Tproger.

@tproger

Читайте также в VK, Max и Дзен