Terminal pogryzł człowieka: bat
Czym byłoby przeglądanie plików tekstowych w terminalu bez polecenia cat lub less… Ale historia ludzkości zbudowana została w oparciu o sukcesy ewoluujących usprawnień. Stąd dzisiaj rozważania nad praktycznym połączeniem powyższych, czyli polecenie bat.
Chyba nikogo nie trzeba przekonywać do praktyczności polecenia cat, które momentalnie wyrzuci nam w terminal zawartość pliku tekstowego oraz polecenia less, które pomoże poćwiczyć składnię vi i jednocześnie zapanuje nad ilością wyświetlanych danych. Projekt bat powstał aby odświeżyć zmurszałe już nieco założenia obydwu poleceń. Zasadniczo bat jest klonem polecenia cat. Jednak podstawową różnicą jest kolorowanie składni i integracja z Git. Na tym nie kończą się atrakcje, ale o tym poniżej.
Na pierwszym etapie znajomości bat może być używany niemal dokładnie jak jego protoplasta. Czyli wylistujemy nim pliki, przekierujemy ich zawartość do innego, wybierzemy wejście i wyjście, itp. Program nie przeszkodzi nam w korzystaniu ze specyfiki linuksowej konsoli.
bat test.py
Jednak pierwszą różnicą jaką zauważymy będą kolory. Program rozpoznaje składnie kilku języków programowania, a jeśli nie rozpoznana jej automatycznie, to możemy go odpowiednio poinstruować. Najpierw dowiedzmy się, co potrafi kolorować:
bat --list-languages
Gdy już ochłoniemy i przywykniemy do mnogości wyboru, deklarujemy:
bat -l exs nazwa-pliku
No dobrze, ale gdzie w tym wszystkim Git i less? Less zostanie użyte automatycznie, gdy ilość danych przesyłanych nie zmieści się na ekranie. Oczywiście dostępne będą wszystkie opcje i skróty klawiszowe znane z less (bo to zwykłe przekierowanie – lub raczej „przepotokowanie”).
Jeżeli natomiast znajdujemy się w źródłach scalonych z Git, bat zrobi z tego automatycznie użytek i pokaże nam różnice pomiędzy plikami w wersji lokalnej i zdalnej (plus i minus po lewej stronie).
A na koniec, gdy znudzi się nam kolorystyka, to:
bat --list-themes
… i wybieramy pasującą nam tematykę:
bat --theme nazwa-tematu nazwa-pliku
Program stanowi doskonałe uzupełnienie dla osób korzystających z Gita oraz parających się pracą u źródeł. Z zainstalowaniem nikt nie powinien mieć najmniejszych problemów, gdyż autor przygotował stosowne paczki niemal dla każdej dystrybucji o ile jest to Ubuntu/Debian/Mint.
Użytkownicy Arch Linuksa i Manjaro mają program w podstawowym repozytorium:
sudo pacman -Syu bat