/ / Animación de terminal - ¿Está aclarando el enfoque de pantalla correcta? - java, macos, scala, terminal

Animación de terminal: ¿se está aclarando el enfoque correcto de la pantalla? - java, macos, scala, terminal

Tengo un tablero de juego ASCII que estoy mostrandoen el terminal de Mac OS X, y debe actualizarse con frecuencia. ¿Hay alguna forma conveniente de borrar o sobrescribir el contenido previamente impreso en la Terminal? ¿O necesito limpiar la pantalla cada vez y reimprimir el tablero? (Buscando soluciones que usan Java o Scala)

Respuestas

1 para la respuesta № 1

El programa OS X Terminal emula un color xterm (variable de entorno TERM muestra un valor predeterminado de xterm-color), que a su vez se define como emulando una DEC VT102 / 220 que es básicamente utiliza / define el Códigos de escape ANSI.

Si solo desea borrar toda la pantalla, deberá dar salida a la secuencia de escape que corresponde a CUP (Actualización del cursor) seguido de ED (Borrar pantalla). En una VT102, específicamente desea utilizar:

<ESC>[H<ESC>[J

Dónde <ESC> Es el personaje de escape (ASCII 27).

Usar el Búfer de pantalla alternativo (como indicaste en vim o emacs), deberás enviar el código para comenzar el búfer de pantalla alternativo cuando comiences:

<ESC>[?1049h

y luego vuelva a cambiar al búfer de pantalla normal cuando termine:

<ESC>[?1049l

Mientras utiliza el búfer de pantalla alternativo, "llno puede retroceder, y no afectará el retroceso o el contenido normal de la pantalla. Al reanudar el búfer de pantalla normal, volverá al contexto del terminal original, incluidos todos los contenidos de pantalla existentes y retrocederá.