8 faktów, które sprawiają, że polecenie Linux bat jest lepsze od cat

8 faktów, które sprawiają, że polecenie Linux bat jest lepsze od cat

Bat to narzędzie do podświetlania składni i oznaczania różnic w plikach, które oferuje różne opcje konfiguracyjne, ułatwiając przeglądanie kodu w terminalu.

Program bat opisuje siebie jako „klon kota z skrzydłami”, co jest zabawną analogią, ale trochę mylącą. Bat to narzędzie o dwóch głównych celach: podświetlanie składni i oznaczanie różnic git.

Aby zrozumieć, jak najlepiej korzystać z bat, te przykłady pokażą, jak działa polecenie oraz jakie różne opcje masz do dyspozycji.

bat Podświetla Składnię Domyślnie

Aby zilustrować podstawową funkcję bat, wystarczy uruchomić go na pliku kodu źródłowego w wybranym przez siebie języku, np.:

bat tile.js

Dla krótkiego pliku bat wyśle wynik i zwróci cię do polecenia:

Główną rzeczą, którą bat robi w tym przypadku, jest dodanie podświetlenia składni do twojego pliku przy użyciu kolorów ANSI. Może to zrobić dla wielu różnych języków, obejmując wszystko od C po HTML i Markdown:

Aby wyświetlić pełny zestaw składni języków, które bat wspiera, użyj opcji --list-languages.

Możesz użyć opcji --theme, aby zmienić specyficzne kolory używane przez bat. Na przykład, oto początek poprzedniego pliku podświetlony przy użyciu motywu gruvbox-dark:

Chociaż bat określa siebie jako „klon kota”, w rzeczywistości tak nie jest. Możesz używać polecenia cat na wiele sposobów, ale jego pierwotnym celem było łączenie (konkatenacja) plików. Cat pozostaje najlepszym narzędziem do tego celu, ale bat poprawia jego użycie jako przeglądarki plików.

Jeśli plik jest zbyt długi, aby zmieścić się w twoim terminalu, bat użyje paginatora, aby wyświetlić interaktywną wersję. Będzie to działać dokładnie tak, jak paginator, którego używasz do przeglądania stron man, pod warunkiem, że to ten sam paginator. Domyślnie bat użyje less, ale masz kilka opcji, aby użyć alternatywy:

  • Zmień zmienną PAGER lub użyj BAT_PAGER, jeśli chcesz, aby bat używał innego paginatora niż inne oprogramowanie.
  • Użyj opcji --pager, aby określić polecenie (lub ścieżkę do programu). Możesz to zrobić w wierszu poleceń lub w pliku konfiguracyjnym bata.

Możesz znaleźć to mylące lub rozpraszające, gdy bat czasami używa paginatora, a czasami nie. Jeśli tak, możesz skorzystać z opcji --paging, aby zmienić to zachowanie:

bat 

Istnieje kilka różnych sposobów, w jakie możesz skonfigurować swój paginator za pomocą bata oraz opcji --paging i --pager. Zobacz dokumentację bata (man bat) po więcej szczegółów.

bat Również Numeruje Linie Domyślnie

Domyślnie bat również wyświetla numery linii obok twojego pliku. Wyłączyłem je w poprzednich zrzutach, aby były prostsze; oto przykład rzeczywistego domyślnego zachowania:

Numery linii są przydatne do śledzenia twojej lokalizacji w pliku. Paginator less nie wyświetla tej informacji domyślnie, chociaż alternatywy, takie jak most, to robią. Numerowanie linii jest szczególnie przydatne, jeśli przeglądasz kod źródłowy i próbujesz znaleźć błąd na konkretnej linii. Możesz użyć opcji -p, aby wyłączyć numery linii lub opcji -n, aby pokazać tylko numery linii.

bat Może Podświetlać Linie lub Zakresy

Numeracja linii w bat jest jeszcze bardziej efektywna, gdy połączysz ją z podświetlaniem linii, które możesz używać na jednej linii lub na zestawie zakresów. Opcja --highlight-line ma kilka wariantów; oto przykład:

bat 

To podświetli linię 7 oraz linie 14-15 za pomocą alternatywnego koloru tła:

Podobna opcja, --line-range, pozwala wyświetlić tylko określone linie lub zakresy:

Oczywiście możesz połączyć obie, aby wyświetlić część pliku i jednocześnie podświetlić konkretne linie:

bat Działa Dobrze Z Git

Jeśli używasz bata do przeglądania kodu źródłowego, miło ci będzie wiedzieć, że ma świetne wsparcie dla gita. Bat pokaże zmiany w pliku, jeśli wykryje, że znajduje się w repozytorium git:

bat pokaże znane symbole w lewym marginesie każdej zmienionej linii, aby wskazać, czy jest nowa (+), usunięta (-) czy zmieniona (~). Możesz użyć flagi --diff (-d), aby nakazać batowi wyświetlanie tylko linii ze zmianami oraz kilku linii kontekstowych wokół nich. To świetna funkcja do przeglądania zmian w kodzie lub przypomnienia sobie projektu, do którego wracasz.

bat Działa Rozsądnie, Jeśli Jest w Pipeline

Już widzieliśmy, jak bat używa zdrowego rozsądku, aby zdecydować, czy użyć paginatora, ale to narzędzie ma także inne inteligentne funkcje. W szczególności najbardziej użyteczna jest jego zdolność do wykrywania, jaki rodzaj wyjścia jest najczęściej.

bat działa, sprawdzając, czy jego wyjście jest wysyłane do terminala nieinteraktywnego: na przykład, gdy jest przekazywane do innego procesu lub pliku. W takich przypadkach prawdopodobnie nie chcesz, aby bat stosował kolorowanie składni, więc zablokuje specjalne kody kolorów, które zwykle wyświetla. W tym trybie działa zasadniczo jak cat, wyłączając wszystkie dekoracje, w tym numery linii i podświetlenia zakresów.

Możesz nadal wymusić, aby bat produkował sformatowane wyjście, nawet jeśli jest w potoku. Jest to przydatne, jeśli wiesz, że polecenie, do którego przekazujesz, może obsługiwać kody kolorów ANSI, jak na przykład most:

bat -f README.md | most

Opcja --force-colorization (-f) mówi bat, aby zachował wszystkie koloryzacje i dekoracje, więc jest to przeciwieństwo --plain (-p).

bat Pracuje Dobrze Z man Też

Ponieważ możesz konfigurować pager, który man używa do wyświetlania pomocy w poleceniach Linuksa, możesz również ustawić go na użycie bata dla ładniejszego wyjścia:

Aby to zrobić, uruchom man i ustaw MANPAGER w ten sposób:

MANPAGER="sh -c 'col -bx | bat -l man -p'" man ls

To polecenie wymaga wyjaśnienia, ponieważ robi dość dużo. Najpierw ustawia zmienną MANPAGER, a następnie uruchamia "man ls" na samym końcu. Ta składnia ("NAME=VALUE command") jest wygodnym sposobem na ustawienie zmiennej środowiskowej dla konkretnego polecenia, które następuje.

Wartość MANPAGER to wywołanie sh (twojej domyślnej powłoki) z opcją -c, aby uruchomić polecenie. To z kolei uruchamia dwa programy, col i bat, przekazując wyjście z pierwszego do wejścia drugiego. Program col pomaga oczyścić niektóre znaki formatowania, a bat uruchamiany jest z opcją "-l man", aby użyć składni man do kolorowania. Opcja -p używa stylu prostego, co odpowiada stronom man.

bat Ma Bardzo Użyteczne Opcje Konfiguracyjne

Do tej pory mogłeś zauważyć, że bat jest wysoce konfigurowalny. Niektóre z jego opcji są informacyjne, takie jak --list-languages. Możesz użyć --config-file, aby wydrukować lokalizację swojego pliku konfiguracyjnego bata.

Jeśli szukasz innego schematu kolorów (wszyscy mamy swoje ulubione), sprawdź opcje --list-themes. Co ciekawe, to wyjście korzysta z dekoracji i kolorowania, a możesz je wyłączyć, używając standardowych opcji:

Narzędzie obsługuje również kilka prostych opcji do kontrolowania szczególnych detali formatowania, więc możesz precyzyjnie kontrolować jego wyjście. Użyj “--tabs n”, aby ustawić szerokość tabulacji w spacjach, --chop-long-lines, aby skrócić wszystkie linie dłuższe niż szerokość ekranu, oraz --squeeze-blank, aby skompresować serie pustych linii do jednej linii.

bat jest jednym z rosnącej liczby narzędzi wiersza poleceń Linuksa napisanych w Rust. Ten ekosystem zachęca pokolenie wizualnie bogatych, interaktywnych aplikacji TUI, które konkurują z ustalonymi poleceniami, a bat jest doskonałym dodatkiem do twojego zestawu narzędzi Linuksa.

Jeśli ciekawią Cię artykuły podobne do 8 faktów, które sprawiają, że polecenie Linux bat jest lepsze od cat, zajrzyj do kategorii Linux i odkryj jeszcze więcej interesujących treści.

Indeks
  1. bat Podświetla Składnię Domyślnie
  2. bat Również Numeruje Linie Domyślnie
  3. bat Może Podświetlać Linie lub Zakresy
  4. bat Działa Dobrze Z Git
  5. bat Działa Rozsądnie, Jeśli Jest w Pipeline
  6. bat Pracuje Dobrze Z man Też
  7. bat Ma Bardzo Użyteczne Opcje Konfiguracyjne

Możesz być zainteresowany

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Go up