Oto, co robię: odbijam się echem przez kolory PHP:
php tworzy dane wyjściowe zawierające sekwencje specjalne ANSI, które kolorują tekst, gdy jest wyświetlany przez powłokę na moim terminalu. Możesz znaleźć klasę php i wyjaśnienie tutaj .
Ale jeśli wyślę mój wynik do pliku i spróbuję go odczytać za pomocą vima, nie jest on „kolorowy”, po prostu widzę znaki specjalne. Czy istnieje sposób wyświetlania kolorów tak, jak są wyświetlane w powłoce?
command-line
vim
colors
Olivier Pons
źródło
źródło
php -f filename
” i odbijamOdpowiedzi:
Wyjście terminala zostanie pokolorowane, jeśli zawartość pliku zostanie wysłana „tak jak jest” do terminala, bez żadnych modyfikacji. Jednak vim i niektórzy inni redaktorzy będą unikać znaków meta w tekście i zamiast tego mogą dodać inne kody kolorów dla podświetlania składni, więc to nie działa.
Spróbuj zrzucić plik do terminala za pomocą
cat
, to powinno zadziałać. Niektóre proste edytory lub pagery, takie jak,less
mogą również działać.Edycja: Nie znalazłem sposobu, aby vim „przepuścił” wszystkie kody ucieczki, ale znalazłem tę odpowiedź, która prowadzi do tego skryptu vim , który analizuje kody ucieczki i używa podświetlenia składni vim do odtworzenia kodów kolorów w wyjściu. Zgodnie z opisem powinien on robić dokładnie to, co chcesz (ale go nie testowałem).
źródło
Właśnie odkryłem, że istnieje wtyczka Vima do obsługi znaków specjalnych ASCI. Nazywa się to „Ansi Highlighting”. Jeśli jesteś zainteresowany, odwiedź http://www.drchip.org/astronaut/vim/index.html#ANSIESC
Och, będziesz musiał użyć „Vimballs” do rozpakowania ANSIESC.
źródło