ANSI Escape Codes
ANSI escape codes начинаются с символа ESC (код ASCII 27), за которым следует символ [ (открывающая квадратная скобка) и одна или более команд, разделенных точкой с запятой. Завершаются команды буквой, обозначающей тип команды.
ESC код для большенства консолей это \033 или \x1B - на них меняется ключевое слово ESC в завивисмости от консоли и вашего ЯП.
Общий вид
ESC[command[;command]X
ESC[1;30;44mПриветESC[0m //Тусклый, чёрный текст с синий фоном.
Список ANSI Escape Codes
Управление текстом и стилями
| Имя Code |
ANSI escape codes |
Описание |
| Сброс |
ESC[0m |
сбрасывает все атрибуты (возвращает к обычному тексту). |
| Жирный |
ESC[1m |
включает жирный шрифт. |
| Тусклый |
ESC[2m |
включает тусклый (уменьшенная яркость). |
| Курсив |
ESC[3m |
включает курсив. |
| Подчеркнутый |
ESC[4m |
включает подчеркнутый текст. |
| Мигающий |
ESC[5m |
включает мигание текста. |
| Инвертированный |
ESC[7m |
инвертирует цвета фона и текста. |
| Скрытый |
ESC[8m |
делает текст скрытым. |
Цвета текста (Foreground Colors)
| Имя Code |
ANSI escape codes |
Описание |
| Черный |
ESC[30m |
|
| Красный |
ESC[31m |
|
| Зеленый |
ESC[32m |
|
| Желтый |
ESC[33m |
|
| Синий |
ESC[34m |
|
| Магента |
ESC[35m |
|
| Циан |
ESC[36m |
|
| Белый |
ESC[37m |
|
| 8-bit цвета текста |
ESC[38;5;{n}m |
где {n} — код цвета от 0 до 255. |
| 24-bit цвета текста |
ESC[38;2;{r};{g};{b}m |
где {r}, {g}, {b} — значения красного, зеленого и синего компонентов соответственно (0-255). |
Цвета фона (Background Colors)
| Имя Code |
ANSI escape codes |
Описание |
| Черный |
ESC[40m |
|
| Красный |
ESC[41m |
|
| Зеленый |
ESC[42m |
|
| Желтый |
ESC[43m |
|
| Синий |
ESC[44m |
|
| Магента |
ESC[45m |
|
| Циан |
ESC[46m |
|
| Белый |
ESC[47m |
|
| 8-bit цвета фона |
ESC[48;5;{n}m |
где {n} — код цвета от 0 до 255. |
| 24-bit цвета фона |
ESC[48;2;{r};{g};{b}m |
где {r}, {g}, {b} — значения красного, зеленого и синего компонентов соответственно (0-255). |
Управление курсором
| Имя Code |
ANSI escape codes |
Описание |
| Перемещение курсора вверх |
ESC[{n}A |
перемещает курсор вверх на {n} строк. |
| Перемещение курсора вниз |
ESC[{n}B |
перемещает курсор вниз на {n} строк. |
| Перемещение курсора вправо |
ESC[{n}C |
перемещает курсор вправо на {n} колонок. |
| Перемещение курсора влево |
ESC[{n}D |
перемещает курсор влево на {n} колонок. |
| Установка курсора в позицию |
ESC[{y};{x}H или ESC[{y};{x}f |
перемещает курсор в позицию (y, x). |
| Сохранение позиции курсора |
ESC[s |
|
| Восстановление позиции курсора |
ESC[u |
|
| Скрытие курсора |
ESC[?25l |
|
| Показ курсора |
ESC[?25h |
|
Очистка экрана и строк
| Имя Code |
ANSI escape codes |
Описание |
| Очистка экрана |
ESC[2J |
очищает весь экран. |
| Очистка от курсора до конца экрана |
ESC[0J |
|
| Очистка от курсора до начала экрана |
ESC[1J |
|
| Очистка строки |
ESC[2K |
очищает всю строку, где находится курсор. |
| Очистка от курсора до конца строки |
ESC[0K |
|
| Очистка от курсора до начала строки |
ESC[1K |
|
Форматирование текста
| Имя Code |
ANSI escape codes |
Описание |
| Фрактурный (Fraktur) |
ESC[20m |
|
| Сверхжирный (Bold off or double underline) |
ESC[21m |
|
| Нормальная интенсивность (Normal color or intensity) |
ESC[22m |
|
| Курсив выкл (Not italic, not fraktur) |
ESC[23m |
|
| Подчеркнутый выкл (Not underlined) |
ESC[24m |
|
| Мигание выкл (Steady, not blinking) |
ESC[25m |
|
| Инвертирование выкл (Not inverted, not negative) |
ESC[27m |
|
| Скрытый выкл (Not hidden) |
ESC[28m |
|
| Перекрестная линия (Crossed-out) |
ESC[9m |
|
| Перекрестная линия выкл (Not crossed-out) |
ESC[29m |
|
Дополнительные цвета (Foreground and Background)
| Имя Code |
ANSI escape codes |
Описание |
| Стандартный шрифт (Default font) |
ESC[10m |
|
| Альтернативный шрифт 1 |
ESC[11m |
|
| Альтернативный шрифт 2 |
ESC[12m |
|
Состояния и атрибуты терминала
| Имя Code |
ANSI escape codes |
Описание |
| Сохранить атрибуты (Save cursor position and attributes) |
ESC[s |
|
| Восстановить атрибуты (Restore cursor position and attributes) |
ESC[u |
|
Прочие коды
| Имя Code |
ANSI escape codes |
Описание |
| Двойное подчеркивание (Double underline) |
ESC[21m |
в некоторых системах используется как сверхжирный |
| Скрытый (Hidden) |
ESC[8m |
|
| Показ курсора (Show cursor) |
ESC[?25h |
|
| Скрытие курсора (Hide cursor) |
ESC[?25l |
|
Работа с буфером экрана
| Имя Code |
ANSI escape codes |
Описание |
| Переключение на альтернативный экранный буфер |
ESC[?1049h |
|
| Переключение на основной экранный буфер |
ESC[?1049l |
|