Символы управления ASCII в мое... Заметка
RSS Джулия Эванс

Символы управления ASCII в моем терминале

Автор исследует концепцию управляющих кодов в терминале, таких как Ctrl-A, Ctrl-C и Ctrl-W, и то, как они работают. Существует 33 управляющих символа ASCII, которые можно разделить на категории: коды, обрабатываемые драйвером терминала операционной системы, коды, соответствующие буквальным нажатиям клавиш, и коды, используемые readline. Автор отмечает, что нет реальной структуры, которая определяет, какие коды входят в какие категории, поскольку они развились органически. Всего существует только 33 управляющих кода, что означает, что если вы хотите использовать Ctrl-1 в качестве клавиатурной комбинации, это не имеет смысла, поскольку это то же самое, что нажать клавишу 1. Автор также отмечает, что Ctrl+Shift+C не является управляющим кодом, и его поведение зависит от эмулятора терминала. Официальные имена управляющих кодов ASCII не очень полезны, поскольку они были первоначально определены для телеграфных машин и с тех пор были переопределены. Автору трудно использовать Ctrl-M и Ctrl-I в качестве клавиатурных комбинаций, поскольку они эквивалентны клавишам Enter и Tab соответственно. Автор предоставляет скрипт на Python для определения, какие управляющие коды отправляются при нажатии различных комбинаций клавиш. Автор отмечает, что некоторые управляющие коды, такие как Ctrl-W и Ctrl-U, могут обрабатываться по-разному в зависимости от того, находится ли терминал в каноническом или неканоническом режиме. Наконец, автор признает, что существует множество ограничений и конфликтов, связанных с управляющими кодами, и что не вся эта информация обязательно полезна на практике.