vim & colors da ANSI Escape Sequences: come visualizzare in vim gli stessi colori visualizzati con il comando cat


8

Ecco cosa sto facendo: faccio eco attraverso i colori Php in questo modo:

colori delle coperture

php crea un output contenente sequenze di escape ANSI che colorano il testo quando viene visualizzato attraverso la shell sul mio terminale. Puoi trovare la classe php e la spiegazione qui .

Ma se invio il mio output a un file e provo a leggerlo con vim non è "colorato", posso solo vedere i caratteri speciali. C'è un modo per visualizzare i colori come se fossero visualizzati nella shell?


Potrebbe essere utile se potessi menzionare come e con quale programma stai creando il file con il testo a colori e come stai cercando in seguito di visualizzarlo.
John S Gruber,

Scusa se non sono stato abbastanza preciso. Cita la mia domanda: sto facendo eco con Php . Cioè " php -f filename" e sto echeggiando usando questa classe qui: if-not-true-then-false.com/2010/…
Olivier Pons

Risposte:


8

L'output del terminale verrà colorato se il contenuto del file verrà inviato "così com'è" al terminale, senza alcuna modifica. Tuttavia, vim e alcuni altri editor sfuggiranno ai meta-caratteri nel testo e potrebbero invece aggiungere altri codici colore per l'evidenziazione della sintassi, quindi non funziona.

Prova a scaricare il file sul terminale con cat, questo dovrebbe funzionare. Alcuni semplici editor o cercapersone come lesspotrebbero funzionare.

Modifica: non ho trovato un modo per lasciare che vim "attraversi" tutti i codici di escape, ma ho trovato questa risposta che si collega a questo script vim , che analizza i codici di escape e utilizza l'evidenziazione della sintassi vim per ricreare i codici colore nell'output. Secondo la sua descrizione, dovrebbe fare esattamente quello che vuoi (ma non l'ho testato).


C'è un modo per farlo con vim (= preciso per non scappare)?
Olivier Pons il

@OlivierPons guarda la mia modifica
Philipp Wendler il

Non ha funzionato con meno ma ha funzionato con più: cat ~ / myfile.txt | altro
wranvaud,

Quel tipo di sceneggiatura funziona. È un vimball, quindi per installarlo, comprimilo da qualche parte, quindi in vim ': source ansi.vba'. Gestisce molte escape ma non tutte - Un'altra soluzione è "less -R nomefile".
matiu,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.