Bat – клон cat с подсветкой синтаксиса и интеграцией Git для Linux

by itisgood

В Unix-подобных системах мы используем команду «cat» для вывода и связи файлов.

Используя команду cat, мы можем вывести содержимое файла в стандартном виде, объединить несколько файлов в целевой файл и добавить несколько файлов в целевой файл.

Сегодня я наткнулся на аналогичную утилиту под названием «Bat», клон для команды cat, с некоторыми дополнительными классными функциями, такими как подсветка синтаксиса, интеграция git и автоматическая подкачка и т. д.

В этой статье мы установим и потестируем Bat и его команды в Linux.

Установка

Bat также доступен в репозиториях по умолчанию Arch Linux. Таким образом, вы можете установить его с помощью pacman в любых системах на основе arch.

$ sudo pacman -S bat

В Debian, Ubuntu, Linux Mint, загрузите файл .deb со страницы релиза и установите его, как показано ниже.

$ sudo apt install gdebi
$ sudo gdebi bat_0.5.0_amd64.deb

Для других систем вам может потребоваться компиляция и установка из исходников.

Убедитесь, что вы установили Rust 1.26 или выше.

$ cargo install bat

Кроме того, вы можете установить его с помощью диспетчера пакетов Linuxbrew.

$ brew install bat

Использование команды Bat

Команды Linux cat и bat , отличия и сходства

Команда Bat очень похожа на команду cat.

Чтобы создать новый файл с помощью команды bat, выполните следующие действия:

$ bat > file.txt

Чтобы просмотреть содержимое файла с помощью команды bat, просто выполните:

$ bat file.txt

Таким образом, вы можете просматривать сразу несколько файлов:

$ bat file1.txt file2.txt

Чтобы добавить содержимое нескольких файлов в один файл:

$ bat file1.txt file2.txt file3.txt > document.txt

Как я уже сказал, помимо просмотра и редактирования файлов, команда Bat имеет некоторые дополнительные интересные функции.

Команда bat поддерживает подсветку синтаксиса для большого количества языков программирования и разметки.

Например, посмотрите на следующий пример.

Я собираюсь отобразить содержимое файла reverse.py с помощью команд cat и bat.

Вы заметили разницу? В текстовом формате команда выводит выходные данные с подсветкой синтаксиса, номерами строк в аккуратном формате табличного столбца.

Гораздо лучше, не так ли?

Если вы хотите отображать только номера строк (не табличные столбцы), используйте флаг -n.

$ bat -n reverse.py

Пример вывода

Еще одна заметная особенность команды Bat – поддержка автоматической подкачки.

Это означает, что вы можете читать выводы страница за страницей.

Позвольте мне показать вам пример.

Когда вы выводите содержимое файла в несколько страниц, используя команду cat, она быстро перескакивает на последнюю страницу файла, и вы не видите контент в начале или посередине.

Посмотрите следующий результат:

Как вы можете видеть, команда cat отображает последнюю страницу файла.

Таким образом, вам может потребоваться прочитать содержимое этого документа с командой less.

$ cat reverse.py | less

Теперь вы можете увидеть страницу, нажав клавишу ENTER.

Тем не менее, это не обязательно, если вы используете команду bat.

Команда bat автоматически выведет часть файла, которая охватывает несколько страниц.

$ bat reverse.py

Просто нажимайте клавишу Enter и двигайтесь вниз по файлу.

Команда bat также поддерживает интеграцию GIT, поэтому вы можете просматривать / редактировать файлы в своем репозитории Git без особых хлопот.

Настройка Bat

Если вам не нравятся темы по умолчанию, вы также можете изменить их.

У Bat есть опция для этого.

Чтобы просмотреть доступные темы, просто запустите:

$ bat --list-themes
1337
DarkNeon
Default
GitHub
Monokai Extended
Monokai Extended Bright
Monokai Extended Light
Monokai Extended Origin
TwoDark

Чтобы использовать другую тему, например, TwoDark, выполните:

$ bat --theme=TwoDark file.txt

 

You may also like

Leave a Comment