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 [.

Algunos códigos de escape
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 editar

Tabla de 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 editar

Estándar ECMA-48. Lista de códigos de control definida en junio de 1991.