Форум проекта Matuntu

Программное обеспечение => Другое ПО => Тема начата: vita от 21 Апреля 2021, 16:38:10

Название: Bat - клон Cat с подсветкой синтаксиса
Отправлено: vita от 21 Апреля 2021, 16:38:10
Bat - клон Cat с подсветкой синтаксиса и интеграцией Git.
В Unix-подобных системах команда cat используется для печати и объединения файлов. Используя команду cat, мы можем вывести содержимое файла на стандартный вывод, объединить несколько файлов в целевой файл и добавить несколько файлов в целевой файл. Сегодня наткнулась (https://linuxmint.com.ru/viewtopic.php?t=6689&view=unread#unread) на аналогичную утилиту под названием Bat в переводе Летучая мышь . Это просто клон команды cat с некоторыми дополнительными интересными функциями, такими как подсветка синтаксиса, интеграция с git, автоматическое разбиение по страницам и т. д.
В системах Debian, Ubuntu, Linux Mint для установки можно загрузить файл .deb (в том числе для 32-битной архитектуры) со страницы Релизы (https://github.com/sharkdp/bat/releases/tag/v0.18.0). Начиная с Ubuntu 20.04 пакеты bat стали включаться в основной репозиторий Ubuntu (https://packages.ubuntu.com/ru/focal/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 поддерживает подсветку синтаксиса для большого количества языков программирования и разметки.
Для примера снимок отображения содержимого файла reverse.py с использованием команды cat и bat
(https://i.imgur.com/RKAFNj6.png)

Команда Cat показывает содержимое файла в текстовом формате, тогда как Bat показывает вывод с выделением синтаксиса и порядковым номером в аккуратном табличном формате столбцов.
Для отображения только номера строк без столбцов таблицы в команде используется флаг -n , например, bat -n reverse.py
Ещё одна примечательная особенность команды Bat - она ​​поддерживает автоматическое разбиение на страницы . Это означает, что если вывод файла слишком велик для одного экрана, команда bat автоматически направляет свой вывод команде less , чтобы просматривать вывод страницы за страницей. В то же время при просмотре содержимого файла, который занимает несколько страниц, с помощью команды cat, приглашение быстро переходит на последнюю страницу файла и не видно содержимое ни в начале, ни в середине текста. Таким образом, может потребоваться передать вывод команды cat по конвейеру команде less, чтобы просмотреть её содержимое постранично с самого начала.
cat reverse.py | lessПосле чего можно просматривать выходные данные постранично, нажимая клавишу ENTER.
Команда bat автоматически перенаправит вывод файла, который занимает несколько страниц.
(https://i.imgur.com/E8bfZOo.png)
Для перехода на следующую страницу просто нажмите клавишу ENTER.
Настройка летучей мыши.
Если не нравятся темы по умолчанию, их также можно изменить. У летучей мыши тоже есть опция для этого.
Настроить можно следующим образом: bat --generate-config-fileВ результате создастся дефолтный конфиг в домашней директории пользователя. Путь можно вывести с bat --config-fileДля наглядного представления имеющихся тем с названием выполним: bat --list-themesВ файле ~/.config/bat/config раскомментируем строчку --theme и вставляем значение интересующей темы, сохраняем. При следующем вызове утилиты параметр подтянется.
Для гарантированного применения изменений рекомендуется дополнить файл ~/.bashrc строкой alias cat=bat
Источники для создания темы: ostechnix.com (https://ostechnix.com/bat-a-cat-clone-with-syntax-highlighting-and-git-integration/) и linuxmint.com.ru (https://linuxmint.com.ru/viewtopic.php?t=6689&view=unread#unread)