# Código escape ANSI

Os códigos de escape ANSI utilizam-se para dar formato à saída de um terminal de texto e baseiam-se numa norma ANSI, ANSI X3.64 (também denominado ECMA-48). Quando se tenta representar um código de escape o terminal o intercepta e atua em função a esse código, mudando a cor ou movendo o cursor. As possibilidades das sequências de escape são muito variadas e utilizavam-se para dar formato e mudar o aspecto do que se vai mostrar pelo terminal.
Em MS-DOS era necessário instalar ANSI. SYS que permitia atuar ante esses códigos. Todos os códigos de escape começam pelos caracteres ESC (caráter ASCII número 27 decimal, 1B em hexadecimal) seguido do caráter [.
Alguns códigos de escape :
| Sequência | Acção |
| ESC [ n A | Desloca o cursor para acima n linhas. Se o cursor encontrava-se na parte superior do ecrã, não tinha nenhum efeito. Se não se especificava n o cursor subia uma linha. |
| ESC [ n B | Desloca o cursor n linhas para abaixo. Ao igual que com a deslocação para cima, se o cursor se encontrava na parte inferior do ecrã o cursor não se movia, e se não se especificava n baixava uma linha. |
| ESC [ n C | Move o cursor n colunas para a direita. Se o cursor encontra-se na última coluna este comando não tem efeito. Se não se especifica n a deslocação é de uma coluna. |
| ESC [ n D | Move o cursor n colunas à esquerda, salvo que encontre-se na primeira coluna, em cujo caso não tem efeito. Se n não se especifica tomada o valor de 1. |
| ESC [ n; m f | Move o cursor à fila n e coluna m. Se n não se especifica o cursor se move à primeira fila. |
| ESC [ n J | Apaga parte do ecrã. Se n vale 0 apaga-se desde o cursor até o final do ecrã. Em caso que n valha 1 apaga-se até o princípio do ecrã desde a posição do cursor. Se n vale 2 apaga-se todo o ecrã (e utilizando ANSI. SYS de MS-DOS o cursor vai ao princípio do ecrã) |
| ESC [ n K | Apaga parte da linha. Se n é zero, desde o cursor ao final da linha, em caso que valha 1 apaga-se até o princípio. Se n vale 2 apaga-se toda a linha. |
| ESC [ código; parâmetro [; parâmetro ] p | Com este comando redefine-se o comportamento de uma tecla. |
| ESC [ s | Guarda a posição atual do cursor. |
| ESC [ u | Coloca o cursor na posição guardada anteriormente. |

## Cores

Tabela de cores :
| Intensidade | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| Normal | Negro | Vermelho | Verde | Amarelo | Azul | Magenta | Cian | Blanco |
| Claro | Negro | Vermelho | Verde | Amarelo | Azul | Magenta | Cian | Blanco |
| Nomeie da cor | Cor regular VGA | CMD de Windows XP | Terminal.app | PuTTY | mIRC | xterm | CSS/HTML | X |
| Normal | Negro | 0, 0, 0 | 0, 0, 0 | 0, 0, 0 | 0, 0, 0 | 0, 0, 0 | 0, 0, 0 | 0, 0, 0 | 0, 0, 0 |
| Normal | Vermelho | 170, 0, 0 | 128, 0, 0 | 194, 54, 33 | 187, 0, 0 | 127, 0, 0 | 205, 0, 0 | 255, 0, 0 | 255, 0, 0 |
| Normal | Verde | 0, 170, 0 | 0, 128, 0 | 37, 188, 36 | 0, 187, 0 | 0, 147, 0 | 0, 205, 0 | 0, 255, 0 | 0, 128, 0 |
| Normal | Castanho/amarelo | 170, 85, 0 | 128, 128, 0 | 173, 173, 39 | 187, 187, 0 | 252, 127, 0 | 205, 205, 0 | 255, 255, 0 | 255, 255, 0 |
| Normal | Azul | 0, 0, 170 | 0, 0, 128 | 73, 46, 225 | 0, 0, 187 | 0, 0, 127 | 0, 0, 238 | 0, 0, 255 | 0, 0, 255 |
| Normal | Magenta | 170, 0, 170 | 128, 0, 128 | 211, 56, 211 | 187, 0, 187 | 156, 0, 156 | 205, 0, 205 | 255, 0, 255 | 255, 0, 255 |
| Normal | Cian | 0, 170, 170 | 0, 128, 128 | 51, 187, 200 | 0, 187, 187 | 0, 147, 147 | 0, 205, 205 | 0, 255, 255 | 0, 255, 255 |
| Normal | Cinza | 170, 170, 170 | 192, 192, 192 | 203, 204, 205 | 187, 187, 187 | 210, 210, 210 | 229, 229, 229 | 255, 255, 255 | 255, 255, 255 |
| Claro | Cinza escura | 85, 85, 85 | 128, 128, 128 | 129, 131, 131 | 85, 85, 85 | 127, 127, 127 | 127, 127, 127 |
| Claro | Vermelho | 255, 85, 85 | 255, 0, 0 | 252,57,31 | 255, 85, 85 | 255, 0, 0 | 255, 0, 0 |
| Claro | Verde | 85, 255, 85 | 0, 255, 0 | 49, 231, 34 | 85, 255, 85 | 0, 252, 0 | 0, 255, 0 | 144, 238, 144 | 144, 238, 144 |
| Claro | Amarelo | 255, 255, 85 | 255, 255, 0 | 234, 236, 35 | 255, 255, 85 | 255, 255, 0 | 255, 255, 0 | 255, 255, 224 | 225, 255, 224 |
| Claro | Azul | 85, 85, 255 | 0, 0, 255 | 88, 51, 255 | 85, 85, 255 | 0, 0, 252 | 92, 92, 255 | 173, 216, 230 | 173, 216, 230 |
| Claro | Magenta | 255, 85, 255 | 255, 0, 255 | 249, 53, 248 | 255, 85, 255 | 255, 0, 255 | 255, 0, 255 |
| Claro | Cian | 85, 255, 255 | 0, 255, 255 | 20, 240, 240 | 85, 255, 255 | 0, 255, 255 | 0, 255, 255 | 224, 255, 255 | 224, 255, 255 |
| Claro | Branco | 255, 255, 255 | 255, 255, 255 | 233, 235, 235 | 255, 255, 255 | 255, 255, 255 | 255, 255, 255 |