Иногда необходимо, чтобы значение отображалось каждый раз в той же самой строке, например, при каких-то счетчиках. Сделать это очень просто - управляющими кодами. Чтобы не забывать, приведу их здесь:
Курсор в начало
Код:
<ESC>[{ROW};{COLUMN}H
устанавливает курсор в определенную позицию, если параметры опустить (<ESC>[H), то курсор будет установлен в левый верхний угол.
Курсор вверх
передвигает курсор на COUNT строк вверх, по умолчанию значение 1. Дальше значение COUNT и умолчание описывать не буду, они аналогичны.
Курсор вниз
Курсор вправо
Курсор влево
Принудительная позиция
Код:
<ESC>[{ROW};{COLUMN}f
Сохранить позицию
Восстановить позицию
Сохранить позицию
Восстановить позицию
Например, для счетчика можно использовать код
Код:
echo "\033[s";
echo $counter."\n";
echo "\033[u";
переменная $counter будет печататься каждый раз в одном и том же месте
переместит курсор на 100 позиций влево
Дополнительные коды:
Цитата: Scrolling
Scroll Screen <ESC>[r
Enable scrolling for entire display.
Scroll Screen <ESC>[{start};{end}r
Enable scrolling from row {start} to row {end}.
Scroll Down <ESC>D
Scroll display down one line.
Scroll Up <ESC>M
Scroll display up one line.
Tab Control
Set Tab <ESC>H
Sets a tab at the current position.
Clear Tab <ESC>[g
Clears tab at the current position.
Clear All Tabs <ESC>[3g
Clears all tabs.
Erasing Text
Erase End of Line <ESC>[K
Erases from the current cursor position to the end of the current line.
Erase Start of Line <ESC>[1K
Erases from the current cursor position to the start of the current line.
Erase Line <ESC>[2K
Erases the entire current line.
Erase Down <ESC>[J
Erases the screen from the current line down to the bottom of the screen.
Erase Up <ESC>[1J
Erases the screen from the current line up to the top of the screen.
Erase Screen <ESC>[2J
Erases the screen with the background colour and moves the cursor to home.
Printing
Some terminals support local printing:
Print Screen <ESC>[i
Print the current screen.
Print Line <ESC>[1i
Print the current line.
Stop Print Log <ESC>[4i
Disable log.
Start Print Log <ESC>[5i
Start log; all received text is echoed to a printer.
Define Key
Set Key Definition <ESC>[{key};"{string}"p
Associates a string of text to a keyboard key. {key} indicates the key by its ASCII value in decimal.
Set Display Attributes
Set Attribute Mode <ESC>[{attr1};...;{attrn}m
Sets multiple display attribute settings. The following lists standard attributes:
0 Reset all attributes
1 Bright
2 Dim
4 Underscore
5 Blink
7 Reverse
8 Hidden
Foreground Colours
30 Black
31 Red
32 Green
33 Yellow
34 Blue
35 Magenta
36 Cyan
37 White
Background Colours
40 Black
41 Red
42 Green
43 Yellow
44 Blue
45 Magenta
46 Cyan
47 White
например
скажет, что весь последующий текст выводится красным цветом.