vim et couleurs des séquences d'échappement ANSI: comment afficher dans vim les mêmes couleurs que celles affichées avec la commande cat


8

Voici ce que je fais: je fais écho à travers les couleurs Php comme ceci:

couleurs de coque

php crée une sortie contenant des séquences d'échappement ANSI qui colorent le texte lorsqu'il est affiché à travers le shell sur mon terminal. Vous pouvez trouver la classe php et l'explication ici .

Mais si j'envoie ma sortie dans un fichier et que j'essaie de la lire avec vim, elle n'est pas "colorée", je peux juste voir les caractères spéciaux. Existe-t-il un moyen d'afficher les couleurs comme elles sont affichées dans la coque?


Il pourrait être utile de mentionner comment et avec quel programme vous créez le fichier avec le texte en couleur, et comment vous essayez plus tard de l'afficher.
John S Gruber du

Désolé si je n'étais pas assez précis. Citez ma question: je fais écho à travers Php . C'est à dire " php -f filename" et je fais écho en utilisant cette classe ici: if-not-true-then-false.com/2010/…
Olivier Pons

Réponses:


8

La sortie du terminal sera colorée si le contenu du fichier est envoyé "tel quel" au terminal, sans aucune modification. Cependant, vim et certains autres éditeurs échapperont aux méta caractères dans le texte et ajouteront peut-être à la place d'autres codes de couleur pour leur coloration syntaxique, donc cela ne fonctionne pas.

Essayez de vider le fichier sur le terminal avec cat, cela devrait fonctionner. Certains éditeurs ou pagers simples lesspeuvent également fonctionner.

Edit: Je n'ai pas trouvé de moyen de laisser vim "passer" tous les codes d'échappement, mais j'ai trouvé cette réponse qui renvoie à ce script vim , qui analyse les codes d'échappement et utilise la coloration syntaxique vim pour recréer les codes de couleur dans la sortie. Selon sa description, il devrait faire exactement ce que vous voulez (mais je ne l'ai pas testé).


Existe-t-il un moyen de le faire avec vim (= précis pour ne pas s'échapper)?
Olivier Pons

@OlivierPons voir ma modification
Philipp Wendler

Cela ne fonctionnait pas avec moins mais fonctionnait avec plus: cat ~ / myfile.txt | plus
wranvaud

Ce genre de script fonctionne. C'est un vimball, donc pour l'installer, le gunzip quelque part, puis dans vim ': source ansi.vba'. Il gère de nombreux échappements mais pas tous - Une autre solution est 'less -R filename'.
matiu

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.