vim & colors de ANSI Escape Sequences: cómo mostrar en vim los mismos colores que se muestran con el comando cat

8

Esto es lo que estoy haciendo: estoy haciendo eco a través de colores Php como este:

colores de concha

php crea una salida que contiene secuencias de escape ANSI que colorean el texto cuando se muestra a través del shell en mi terminal. Puede encontrar la clase php y la explicación aquí .

Pero si envío mi salida a un archivo e intento leerlo con vim no está "coloreado", solo puedo ver los caracteres especiales. ¿Hay alguna manera de mostrar los colores como se muestran en el shell?

Olivier Pons
fuente
Podría ser útil si pudiera mencionar cómo y con qué programa está creando el archivo con el texto en color, y cómo más tarde intenta mostrarlo.
John S Gruber
Lo siento si no fui lo suficientemente precisa. Cita mi pregunta: estoy haciendo eco a través de Php . Es decir " php -f filename" y estoy haciendo eco usando esta clase aquí: if-not-true-then-false.com/2010/…
Olivier Pons
Cross Site posible duplicado de: superuser.com/questions/358409/...
Ciro Santilli冠状病毒审查六四事件法轮功

Respuestas:

8

La salida del terminal se coloreará si el contenido del archivo se enviará "tal cual" al terminal, sin modificaciones. Sin embargo, vim y algunos otros editores escaparán de los metacaracteres en el texto y, en su lugar, tal vez agreguen otros códigos de color para resaltar su sintaxis, por lo que esto no funciona.

Intente volcar el archivo a la terminal con cat, esto debería funcionar. Algunos editores simples o buscapersonas como lesstambién podrían funcionar.

Editar: no he encontrado una manera de permitir que vim "pase" todos los códigos de escape, pero he encontrado esta respuesta que enlaza con este script de vim , que analiza los códigos de escape y utiliza el resaltado de sintaxis de vim para recrear los códigos de color en la salida Según su descripción, debe hacer exactamente lo que desea (pero no lo he probado).

Philipp Wendler
fuente
¿Hay alguna manera de hacer esto con vim (= preciso para no escapar)?
Olivier Pons
@OlivierPons ver mi edición
Philipp Wendler
No funcionó con menos pero sí con más: cat ~ / myfile.txt | más
wranvaud
Ese guión funciona. Es un vimball, así que para instalarlo, descomprímelo en algún lugar, luego en vim ': source ansi.vba'. Maneja muchos escapes pero no todos: otra solución es 'less -R filename'.
matiu