Código escape ANSI
Los códigos de escape ANSI se utilizan para dar formato a la salida de una terminal de texto y se basan en un estándar ANSI, ANSI X3.64 (también denominado ECMA-48). Cuando se intenta representar un código de escape la terminal lo intercepta y actúa en función a ese código, cambiando el color o moviendo el cursor. Las posibilidades de las secuencias de escape son muy variadas y se utilizaban para dar formato y cambiar el aspecto de lo que se va a mostrar por la terminal.
En MS-DOS era necesario instalar ANSI.SYS que permitía actuar ante esos códigos. Todos los códigos de escape comienzan por los caracteres ESC (carácter ASCII número 27 decimal, 1B en hexadecimal) seguido del carácter [.
Secuencia | Acción |
---|---|
ESC [ n A | Desplaza el cursor hacia arriba n filas. Si el cursor se encontraba en la parte superior de la pantalla, no tenía ningún efecto. Si no se especificaba n el cursor subía una fila. |
ESC [ n B | Desplaza el cursor n filas hacia abajo. Al igual que con el desplazamiento hacia arriba, si el cursor se encontraba en la parte inferior de la pantalla el cursor no se movía, y si no se especificaba n bajaba una fila. |
ESC [ n C | Mueve el cursor n columnas hacia la derecha. Si el cursor se encuentra en la última columna este comando no tiene efecto. Si no se especifica n el desplazamiento es de una columna. |
ESC [ n D | Mueve el cursor n columnas a la izquierda, salvo que se encuentre en la primera columna, en cuyo caso no tiene efecto. Si n no se especifica toma el valor de 1. |
ESC [ n; m f | Mueve el cursor a la fila n y columna m. Si n no se especifica el cursor se mueve a la primera fila. |
ESC [ n J | Borra parte de la pantalla. Si n vale 0 se borra desde el cursor hasta el final de la pantalla. En caso de que n valga 1 se borra hasta el principio de la pantalla desde la posición del cursor. Si n vale 2 se borra toda la pantalla (y utilizando ANSI.SYS de MS-DOS el cursor va al principio de la pantalla) |
ESC [ n K | Borra parte de la línea. Si n es cero, desde el cursor al final de la línea, en caso de que valga 1 se borra hasta el principio. Si n vale 2 se borra toda la línea. |
ESC [ código; parámetro [; parámetro ] p | Con este comando se redefine el comportamiento de una tecla. |
ESC [ s | Guarda la posición actual del cursor. |
ESC [ u | Coloca el cursor en la posición guardada anteriormente. |
ESC [ b ; fg ; bg m | Establece la intensidad, el color del primer plano y el color de fondo del texto. Más ejemplos de códigos y colores en http://softwarelivre.org/terceiro/blog/a-visual-cheat-sheet-for-ansi-color-codes Archivado el 22 de septiembre de 2018 en Wayback Machine. |
Colores
Intensidad | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
Normal | Negro | Rojo | Verde | Amarillo | Azul | Magenta | Cian | Blanco |
Claro | Negro | Rojo | Verde | Amarillo | Azul | Magenta | Cian | naranja |
Nombre del color | Color estándar 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 |
Rojo | 170, 0, 0 | 128, 0, 0 | 194, 54, 33 | 187, 0, 0 | 127, 0, 0 | 205, 0, 0 | 255, 0, 0 | 252, 0, 0 | |
Verde | 0, 170, 0 | 0, 128, 0 | 37, 188, 36 | 0, 187, 0 | 0, 147, 0 | 0, 205, 0 | 0, 255, 0 | 0, 127, 0 | |
Marrón/amarillo | 170, 85, 0 | 128, 128, 0 | 173, 173, 39 | 187, 187, 0 | 252, 127, 0 | 205, 205, 0 | 255, 255, 0 | 252, 127, 0 | |
Azul | 0, 0, 170 | 0, 0, 128 | 73, 46, 225 | 0, 0, 187 | 0, 0, 127 | 0, 0, 238 | 0, 0, 255 | 0, 0, 0 | |
Magenta | 170, 0, 170 | 128, 0, 128 | 211, 56, 211 | 187, 0, 187 | 156, 0, 156 | 205, 0, 205 | 255, 0, 255 | 252, 0, 0 | |
Cian | 0, 170, 170 | 0, 128, 128 | 51, 187, 200 | 0, 187, 187 | 0, 147, 147 | 0, 205, 205 | 0, 255, 255 | 0, 127, 0 | |
Gris | 170, 170, 170 | 192, 192, 192 | 203, 204, 205 | 187, 187, 187 | 210, 210, 210 | 229, 229, 229 | 255, 255, 255 | 252, 127, 0 | |
Claro | Gris oscuro | 85, 85, 85 | 128, 128, 128 | 129, 131, 131 | 85, 85, 85 | 127, 127, 127 | 127, 127, 127 | ||
Rojo | 255, 85, 85 | 255, 0, 0 | 252,57,31 | 255, 85, 85 | 255, 0, 0 | 255, 0, 0 | |||
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 | |
Amarillo | 255, 255, 85 | 255, 255, 0 | 234, 236, 35 | 255, 255, 85 | 255, 255, 0 | 255, 255, 0 | 255, 255, 224 | 225, 255, 224 | |
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 | |
Magenta | 255, 85, 255 | 255, 0, 255 | 249, 53, 248 | 255, 85, 255 | 255, 0, 255 | 255, 0, 255 | |||
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 | |
Blanco | 255, 255, 255 | 255, 255, 255 | 233, 235, 235 | 255, 255, 255 | 255, 255, 255 | 255, 255, 255 |
Enlaces externos
Estándar ECMA-48. Lista de códigos de control definida en junio de 1991.