Dwie odpowiedzi:
Krótko: chcesz użyć skryptu vim AnsiEsc.vim . Ukryje rzeczywiste sekwencje specjalne ANSI w twoim pliku i użyje podświetlania składni, aby odpowiednio pokolorować tekst. Problem z używaniem tego na pager polega na tym, że vim musi rozpoznać, kiedy tego użyć. Nie jestem pewien, czy po prostu zawsze można go załadować, czy też będzie on kolidował z innymi plikami składni. Będziesz musiał z tym eksperymentować.
Długa odpowiedź: najlepsze, na co możesz liczyć, to częściowe, nieprzenośne rozwiązanie. Mniej faktycznie nie rozumie sekwencji ucieczki terminala, ponieważ są one w dużej mierze zależne od terminalu, ale mniej może je rozpoznać (ich podzbiór) i będzie wiedział, jak je przekazać do terminala, jeśli użyjesz -r
(lub-R
) opcja. Terminal interpretuje sekwencje specjalne i zmienia atrybuty tekstu (kolor, pogrubienie, podkreślenie ...). Vim, będąc edytorem, a nie pageriem, nie przekazuje po prostu surowych znaków kontrolnych do terminala. Musi je w jakiś sposób wyświetlić, aby można było je edytować. Możesz użyć innych funkcji vima, takich jak ukrywanie i podświetlanie składni, aby ukryć sekwencje i użyć ich do ustawiania kolorów tekstu, jednak zawsze będzie on obsługiwał tylko podzbiór sekwencji terminali i prawdopodobnie nie będzie działał na niektórych terminalach .
To naprawdę tylko jeden z wielu problemów, na które napotkasz, gdy spróbujesz użyć edytora tekstu jako pager.
less -r FILE
( źródło )Teraz z vimem 8 możesz używać trybu terminala,
:terminal
a następnie w tym terminalu zróbcat myfile
i wróć do normalnego trybu z Ctrl-w N.źródło