BAT - улучшенный CAT с подсветкой синтаксиса

26.01.2019

В UNIX подобных системах cat используется для последовательного считывания и вывода содержимого файлов в стандартный вывод. В этой статье мы разберем похожую утилиту, являющуюся клоном cat, но с дополнительными улчшениями, такими как подсветка синтаксиса и интеграция с GIT.

Bat and Cat comparison

Установка

Ubuntu

Скачайте последнюю версию .deb пакета отсюда и выполните команду:

# замените имя пакета, на скаченный вами
sudo dpkg -i bat_0.9.0_amd64.deb

MacOS

Установите bat с помощью пакетного менеджера Homebrew:

brew install bat

Arch Linux

Установите пакет bat из официального репозитория:

pacman -S bat

Другие системы

Если в списке выше вы не нашли своей операционной системы, то загляните в репозитрий.

Использование

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

bat file01.md

Вы также можете посмотреть содержимое сразу нескольких файлов:

bat file01.md file02.md

Или соединить несколько файлов в один:

bat file01.md file02.md > multifile.md

Перейдем к основным преимуществам bat.


Интеграция с Git

Если внести изменения в файл, который находится под контролем системы управления версиями Git, то в колонке слева будут отображаться изменения.

Bat Git integration


Подсветка синтаксиса

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

bat posts_controller.rb

С полным списком можно познакомиться, написав команду:

bat --list-languages

bat-list-languages

Конфигурация

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

bat --list-themes

bat-list-themes

Для использования темы, для примера возьмем Monokai Extended Origin, запустите:

bat --theme="Monokai Extended Origin" posts_controller.rb

bat-custom-theme

Для того, чтобы изменить тему по умолчанию, можно присвоить переменной окружения BAT_THEME понравившуюся тему:

export BAT_THEME="TwoDark"

Добавление новой темы

Первое, что нужно сделать, это создать папку, где мы будем хранить новые темы:

mkdir -p "$(bat --config-dir)/themes"
cd "$(bat --config-dir)/themes"

Теперь ищем тему с расширением *.tmTheme, например по этой ссылке, скачиваем, копируем в только что созданную папку и обновляем кэш:

# Перемещаем скачанную тему Railscasts.tmTheme
mv ~/Downloads/Railscasts.tmTheme .

# Обновляем кэш
bat cache --build

После этого новая тему будет доступна для выбора.

bat-railscasts-theme

Файл конфигурации

Есть еще один вариант изменения настроек по умолчанию, использовать файл настроек. Для этого нужно создать файл bat.conf и через переменную окружения BAT_CONFIG_PATH указать путь к этому файлу:

export BAT_CONFIG_PATH="/path/to/bat.conf"

Пример такого файла:

# Установить тему по умолчанию "TwoDark"
--theme="TwoDark"

# Показать номера строк, изменения Git и отобразить имя файла
--style="numbers,changes,header"


На этом все. Надеюсь, что этот пост был вам полезен.