Możesz użyć pakietu e2ansi , który zapewnia obsługę podświetlania składni dla pagerów takich jak more
i 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 less
i
e2ansi
:
Konfiguracja
Pakiet zawiera narzędzie wiersza polecenia, e2ansi-cat
któ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 less
przywraca oryginalną zawartość okna terminala, a more
po 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 less
w rurach
Znak „-” w LESSOPEN
oznacza, ż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.el
konfiguruje 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
e2ansi
kolory 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).
less
skorzysta 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
e2ansi
jest dystrybuowany na Melpa i może być zainstalowany przy użyciu standardowego systemu pakietów Emacsa
e2ansi
jest hostowany na GitHub
e2ansi
Stronę na Emacs Wiki
- Domem
less
.
Uwagi dotyczące systemu operacyjnego
W systemie MS Windows konsola nie obsługuje natywnie sekwencji ANSI. Na szczęście less
aplikacja jest w stanie je renderować. Nie znam żadnej współczesnej dystrybucji binarnej less
dla MS Windows, a dostarczone pliki kompilacji są trudne w użyciu. Na szczęście jest łatwy do zbudowania less
przy 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.