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.

Bat jak cat ale cały kolorowy
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

Bat i Git
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