21.3.2. Управляющие последовательности

21.3.2. Управляющие последовательности

Существуют несколько отдельных типов управляющих последовательностей. Самый простой тип представляет собой символ перехода (^[), за которым следует один командный символ. (Несмотря на то что символ перехода отображается в строках С как 33, в файлах и документации по termcap и terminfo принято обозначение ^[.) Пять из таких односимвольных команд предваряют более сложные управляющие последовательности, которые называются командными последовательностями. Остальные побуждают консоль предпринимать простые действия и немедленно покидать режим перехода. Простейшие управляющие последовательности описаны в табл. 21.2.

Таблица 21.2. Последовательности управления консолью

Управляющие последовательности Описание
^[М Курсор перемещается вверх на одну строку в текущей колонке; если необходимо, то экран прокручивается вниз (обратный перевод строки).
^[D Курсор перемещается вниз на одну строку в текущей колонке; если необходимо, то экран прокручивается вверх (перевод строки)
^[E Возврат каретки и перевод строки.
^[Н Точка табуляции устанавливается в текущей колонке.
^[7 Сохраняются позиция и атрибуты курсора.
^[8 Восстанавливаются позиция и атрибуты курсора.
^[> Переводит малую клавиатуру в числовой режим (стандартный).
^[= Переводит малую клавиатуру в режим приложения (она ведет себя как функциональные клавиши DEC VT102).
^[с Сбрасывает все терминальные установки, которые могут быть получены через управляющие символы и последовательности.
^[Z Запрашивается идентификатор терминала. Ответом будет ^[[?6с; это говорит о том, что консоль точно эмулирует DEC VT102 (она включает в себя расширенный набор возможностей DEC VT102).

Сохранение и восстановление позиции курсора (^[7 и ^[8) не осуществляется в стеке. Если вы делаете два сохранения в одной строке, то вторая сохраняемая позиция перезаписывает первую. Наоборот, один раз сохранив позицию курсора, вы можете восстанавливать ее столько раз, сколько нужно. Всякий раз курсор будет возвращаться в одно и то же расположение. При восстановлении положения курсора также восстанавливаются атрибуты изображения курсора, текущий набор символов, описания набора символов (все это будет описываться далее в данной главе).

Позиция курсора задается в показателях адреса знакоместа, парой чисел x,y, которая обозначает одну позицию на экране. Нумерация адресов знакомест на большинстве терминалов, включая консоль Linux, не начинается с нуля, как это принято в обычной компьютерной практике. Верхний левый символ на экране является началом отсчета и получает адрес как знакоместо 1,1.

Обратите внимание на то, что управляющие символы могут включаться внутри управляющей последовательности. Например, ^[^G8 сначала выдает тональный сигнал, а затем восстанавливает позицию и атрибуты курсора. Последовательность ^[^X8 просто печатает число 8.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Управляющие конструкции

Из книги Давайте создадим компилятор! автора Креншоу Джек

Управляющие конструкции Введение В четырех первых главах этой серии мы сконцентрировали свое внимание на синтаксическом анализе математических выражений и операций присваивания. В этой главе мы остановимся на новой и захватывающей теме: синтаксическом анализе и


Последовательности (Sequences)

Из книги Программирование автора Козлова Ирина Сергеевна

Последовательности (Sequences) Последовательность - это вид контейнера, который организует конечное множество объектов одного и того же типа в строгом линейном порядке. Библиотека обеспечивает три основных вида последовательных контейнеров: vector (вектор), list (список) и deque


48. Управляющие таблицы

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

48. Управляющие таблицы Очень часто целесообразно перенести вычисления из цикла за его пределы и отсрочить вычисления, пока их результаты реально не потребуются. Еще более эффективный вариант оптимизации заключается в том, чтобы приурочить вычисления не ко времени


Последовательности команд

Из книги Справочное руководство по C++ автора Страустрап Бьярн

Последовательности команд Часто для выполнения определенного действия пользователь должен по очереди раскрывать несколько пунктов меню. Например, чтобы запустить в Windows Vista программу Блокнот, нужно выполнить следующие действия.1. Нажать кнопку Пуск.2. Выбрать пункт Все


Управляющие последовательности

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

Управляющие последовательности Как и в других языках, подобных C, строковые литералы в C# могут содержать различные управляющие последовательности, которые интерпретируются как определенный набор данных, предназначенных для отправки в выходной поток. Каждая


Числовые последовательности

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Числовые последовательности Вот две известные в информатике головоломки. Сожалею, что обманываю ожидания своих коллег, которые не найдут здесь ничего нового…?* Головоломка 5. Последовательность Хэмминга.Рассмотрим числа, не имеющие других простых делителей, кроме 2, 3 и 5.


21.3.4. Составные управляющие последовательности

Из книги Краткое введение в программирование на Bash автора Родригес Гарольд

21.3.4. Составные управляющие последовательности Пять двухсимвольных управляющих последовательностей (которые показаны в табл. 21.3) фактически являются префиксами более длинных и сложных последовательностей. Рассмотрим каждую из них по очереди.Таблица 21.3. Составные


Управляющие операторы

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Управляющие операторы Управляющие операторы делают вашу программу компактнее и позволяют ей принимать решения. И, что еще более важно, они позволяют нам выполнять проверку на наличие ошибок. До сих пор все, что мы сделали, это писали скрипты, которые просто исполняют


18.2. Управляющие конструкции

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

18.2. Управляющие конструкции Почти все сценарии, за редким исключением, обладают свойством самоуправляемости. В чем состоит управление ходом выполнения сценария? Предположим, что в состав сценария включено несколько команд:#!/bin/sh# создание каталогаmkdir /home/dave/mydocs#


Последовательности

Из книги автора

Последовательности Последовательность - это набор данных, которые можно перебрать один за другим в некотором порядке. К разновидностям последовательностей относятся одномерные динамические массивы array of T, списки List<T>, двусвязные списки LinkedList<T>, множества