vim i kolory z sekwencji ucieczki ANSI: jak wyświetlać w vimie te same kolory, które są wyświetlane za pomocą polecenia cat


8

Oto, co robię: odbijam się echem przez kolory PHP:

kolory muszli

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?


Może to pomóc, jeśli możesz wspomnieć, jak iz jakim programem tworzysz plik z kolorowym tekstem oraz jak później próbujesz go wyświetlić.
John S Gruber,

Przepraszam, jeśli nie byłem wystarczająco precyzyjny. Cytuj moje pytanie: echo poprzez Php . To znaczy „ php -f filename” i odbijam
Olivier Pons

Odpowiedzi:


8

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, lessmogą 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).


Czy można to zrobić za pomocą vim (= precyzyjnie nie uciekać)?
Olivier Pons,

@OlivierPons zobacz moją edycję
Philipp Wendler

Nie działało z mniej, ale działało z więcej: cat ~ / myfile.txt | więcej
wranvaud,

Ten rodzaj skryptu działa. To jest vimball, więc zainstaluj go, zrób go gdzieś, a potem w vim ': source ansi.vba'. Obsługuje wiele ucieczek, ale nie wszystkie - innym rozwiązaniem jest „mniej -R nazwa pliku”.
matiu

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.