Możesz użyć pakietu e2ansi , który zapewnia obsługę podświetlania składni dla pagerów takich jak morei less.
Pakiet wykorzystuje matkę wszystkich edytorów tekstu, Emacsa , do faktycznego podświetlania składni. Jako dodatkowy bonus, wykonywane są również wszystkie inne konwersje normalnie wykonywane przez Emacsa - takie jak rozpakowywanie plików.
Przykład
Poniżej przedstawiono wynik przeglądania pliku przy użyciu lessi
e2ansi:

Konfiguracja
Pakiet zawiera narzędzie wiersza polecenia, e2ansi-catktóre uruchamia Emacsa w trybie wsadowym, otwiera pliki, wyróżnia ich składnię i renderuje wynik przy użyciu sekwencji ANSI.
Możesz to zintegrować less, ustawiając na przykład następujące zmienne na (położenie pliku init może się różnić):
export "LESSOPEN=||-/usr/local/emacs --batch -Q -l ~/.emacs -l bin/e2ansi-cat %s"
export "LESS=-r"
alias "more=less -X -E"
W powyższej konfiguracji lessprzywraca oryginalną zawartość okna terminala, a morepo wyświetleniu monitu wypisuje nową zawartość.
Uwaga: jeśli używasz starej wersji less, może ona nie obsługiwać
składni ||lub -, w takim przypadku może być konieczne użycie po prostu
LESSOPEN=|/usr/local/emacs ....
Zastosowanie lessw rurach
Znak „-” w LESSOPENoznacza, że filtr wejściowy powinien być również używany podczas przesyłania tekstu do niego less. W takim przypadku Emacs może polegać tylko na samym tekście (a nie na nazwie pliku). Na szczęście Emacs zapewnia do tego system. Ponadto podany plik pliku
e2ansi-magic.elkonfiguruje dodatkowe typy plików. Na przykład:

Dlaczego warto korzystać z Emacsa?
- Emacs obsługuje praktycznie wszystkie języki programowania i formaty tekstu strukturalnego. W większości przypadków obsługa wyróżniania składni jest doskonała.
- Możesz łatwo dodać obsługę większej liczby języków i formatów lub zmodyfikować istniejące pakiety zgodnie z własnymi potrzebami.
- Emacs obsługuje kolorowe motywy. Podczas używania
e2ansikolory w kompozycji są zachowywane podczas przeglądania pliku w less. Możesz wybrać odpowiedni motyw kolorystyczny z wielu źródeł lub zaprojektować własny.
- Jeśli użyjesz Emacsa jako swojego edytora, dostaniesz to samo wyróżnienie w edytorze, co podczas przeglądania pliku przy użyciu
less(minus ograniczenia w formacie sekwencji ANSI i oknie terminala).
lessskorzysta z funkcji Emacsa, które wykonują automatyczną konwersję, na przykład rozpakowywanie plików. W rzeczywistości możesz nauczyć Emacsa przeprowadzania wszelkiego rodzaju konwersji, takich jak automatyczna konwersja pliku binarnego do postaci czytelnej dla człowieka za pomocą zewnętrznego narzędzia.
- Możesz przeglądać pliki znajdujące się na innych komputerach, używając składni Emacsa do zdalnego dostępu, np
/USER@HOST:FILENAME.
Przydatne linki
e2ansijest dystrybuowany na Melpa i może być zainstalowany przy użyciu standardowego systemu pakietów Emacsa
e2ansijest hostowany na GitHub
e2ansiStronę na Emacs Wiki
- Domem
less.
Uwagi dotyczące systemu operacyjnego
W systemie MS Windows konsola nie obsługuje natywnie sekwencji ANSI. Na szczęście lessaplikacja jest w stanie je renderować. Nie znam żadnej współczesnej dystrybucji binarnej lessdla MS Windows, a dostarczone pliki kompilacji są trudne w użyciu. Na szczęście jest łatwy do zbudowania lessprzy użyciu CMake , zobacz ten tekst, aby uzyskać szczegółowe informacje.
OS X rozpowszechnia starą wersję less. Na szczęście łatwo jest zbudować nowoczesną wersję bezpośrednio ze źródła.