A string é na verdade 3[
e essa não é a coisa toda.
Após esse colchete de abertura, vem uma série de números e símbolos. Essa string é conhecida como uma seqüência de escape e é usada para controlar o cursor e a cor do texto do console, entre outras coisas.
As sequências de escape não imprimíveis devem estar entre
\[3[ and \]
Se a sequência de escape estiver controlando a cor do texto, ela será seguida por um m
.
Aqui está uma tabela para as seqüências de cores:
Black 0;30 Dark Gray 1;30
Blue 0;34 Light Blue 1;34
Green 0;32 Light Green 1;32
Cyan 0;36 Light Cyan 1;36
Red 0;31 Light Red 1;31
Purple 0;35 Light Purple 1;35
Brown 0;33 Yellow 1;33
Light Gray 0;37 White 1;37
Portanto, se você quiser que o prompt do seu console seja azul, use a seguinte seqüência de escape (no nome do arquivo que estou esquecendo):
\[3[34m\]
(observe o m
)
Esta seqüência de escape não controla apenas a cor, no entanto. Também pode controlar o movimento do cursor. Aqui está uma tabela / lista com os códigos de movimento e como eles funcionam:
-
Posicione o cursor:
3[<L>;<C>H
Ou
3[<L>;<C>f
coloca o cursor na linha L e na coluna C.
-
Mova o cursor para cima N linhas:
3[<N>A
-
Mova o cursor para baixo N linhas:
3[<N>B
-
Mover o cursor para frente N colunas:
3[<N>C
-
Mover o cursor para trás N colunas:
3[<N>D
-
Limpe a tela, mova para (0,0):
3[2J
-
Apagar para o final da linha:
3[K
-
Salvar a posição do cursor:
3[s
-
Restaurar posição do cursor:
3[u
Apenas esteja ciente de que os dois últimos podem não funcionar no emulador de terminal que você usa. Aparentemente, apenas xterm
e nxterm
usam essas duas sequências.
E exemplo usando uma dessas seqüências de escape: digamos que eu quero posicionar meu cursor na linha 3, coluna (caractere) 9. Para isso, eu usaria
\[033\[3;9H]
(Eu estou supondo que a coluna 0 é a primeira posição, então esse seria o 8º caractere).
Fonte: link (leia também 6.2)
Mais leitura geral: link
Wikipédia: link