Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Перемещение курсора

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


Таблица 13-4: Последовательности выхода из движения курсора

Escape Code Action

\ 033 [l;cH Переместите курсор на строку l и колонка c


изображение

\ 033 [nA Переместите курсор вверх n линий


изображение

\ 033 [nB Переместите курсор вниз n линий


изображение

\ 033 [nC Переместите курсор вперед n символы


изображение

\ 033 [nD Переместить курсор назад n символы


изображение

\ 033 [2J Очистите экран и переместите курсор в верхний левый угол (строка 0, столбец 0)


изображение

\ 033 [K Очистить от позиции курсора до конца текущей строки


изображение

\ 033 [s Сохранить текущую позицию курсора


изображение

\ 033 [u Вызов сохраненной позиции курсора


изображение


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



PS1="\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33m\t\033[0m\033[u\]

<\ u @ \ h \ W> \ $ "

PS1="\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33m\t\033[0m\033[u\]

<\ u @ \ h \ W> \ $ "


Давайте посмотрим на каждую часть строки, чтобы увидеть, что она делает:

Перемещение курсора


Таблица 13-5: Структура сложной строки приглашения


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

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

\[ Начинает непечатаемую последовательность символов. Цель этого - позволить bash правильно рассчитать размер видимого приглашения. Без точного расчета функции редактирования командной строки не могут правильно расположить курсор.


изображение

\ 033 [s Сохранить позицию курсора. Это необходимо для возврата к месту подсказки после того, как полоса и часы будут нарисованы в верхней части экрана. Имейте в виду, что некоторые эмуляторы терминала не распознают этот код.


изображение

\ 033 [0; 0H Переместите курсор в верхний левый угол, то есть в строку 0, столбец 0.


изображение

\ 033 [0; 41m Установите красный цвет фона.


изображение

\ 033 [K Очистить от текущего положения курсора (верхний левый угол) до конца строки. Поскольку цвет фона теперь красный, линия очищается до этого цвета, создавая нашу полосу. Обратите внимание, что очистка до конца строки не меняет положение курсора, который остается в верхнем левом углу.


изображение

\ 033 [1; 33m Установите желтый цвет текста.


изображение

\t Отображение текущего времени. Хотя это «печатающий» элемент, мы по-прежнему включаем его в непечатаемую часть приглашения, поскольку мы не хотим, чтобы bash включал часы при вычислении истинного размера отображаемого приглашения.


изображение

\ 033 [0m Отключить цвет. Это влияет как на текст, так и на фон.


изображение

\ 033 [u Восстановить ранее сохраненную позицию курсора.


изображение

\] Завершить последовательность непечатаемых символов.


изображение

<\ u @ \ h \ W> \ $ Строка подсказки.


изображение


Лучшие облачные вычисления для ОС в OnWorks: