Добавить в корзинуПозвонить
Найти в Дзене

bat: cat, который показывает код, а не просто текст

cat выводит файл. Всё. Ни подсветки, ни номеров строк, ни навигации. bat делает то же самое, но превращает вывод в читаемый документ с синтаксисом, разметкой и возможностью скроллить. ➤ Вариант 1 (Просмотр кода с подсветкой): синтаксис определяется автоматически под сотню языков.# Вместо cat app.py bat app.py # Принудительно указать язык bat --language=json config.json # С нумерацией строк bat --number app.py ➤ Вариант 2 (Просмотр с Git-аннотацией): видно, кто и когда менял каждую строку.# Показать изменения относительно последнего коммита bat --diff app.py # С Git-блэйд (автор каждой строки) bat --paging=always --line-range :50 app.py # первые 50 строк ➤ Вариант 3 (В пайплайнах и скриптах): умное поведение — если вывод не в терминал, bat ведет себя как обычный cat.# В пайпе не ломает скрипты rg "error" | bat --language=log # Сохранить подсвеченный вывод в файл bat --plain app.py > app.txt # --plain отключает подсветку bat поддерживает более 300 языков, автоматически оп

bat: cat, который показывает код, а не просто текст

cat выводит файл. Всё. Ни подсветки, ни номеров строк, ни навигации. bat делает то же самое, но превращает вывод в читаемый документ с синтаксисом, разметкой и возможностью скроллить.

➤ Вариант 1 (Просмотр кода с подсветкой): синтаксис определяется автоматически под сотню языков.# Вместо cat app.py

bat app.py

# Принудительно указать язык

bat --language=json config.json

# С нумерацией строк

bat --number app.py

➤ Вариант 2 (Просмотр с Git-аннотацией): видно, кто и когда менял каждую строку.# Показать изменения относительно последнего коммита

bat --diff app.py

# С Git-блэйд (автор каждой строки)

bat --paging=always --line-range :50 app.py # первые 50 строк

➤ Вариант 3 (В пайплайнах и скриптах): умное поведение — если вывод не в терминал, bat ведет себя как обычный cat.# В пайпе не ломает скрипты

rg "error" | bat --language=log

# Сохранить подсвеченный вывод в файл

bat --plain app.py > app.txt # --plain отключает подсветку

bat поддерживает более 300 языков, автоматически определяет синтаксис и показывает Git-изменения на полях. При этом если вывести bat в пайп или запустить не в терминале, он ведёт себя как обычный cat, не ломая скрипты и автоматизацию.

Сколько раз вы использовали cat и жалели, что нет подсветки синтаксиса?

*P.S. Можно сделать алиас alias cat='bat', но осторожно — в скриптах это может сломаться. Лучше оставить cat для скриптов, а в интерактиве использовать bat.*

👉🏻 Я в Telegram - https://dzen.ru/id/686102a27e39653c3429f77f

👉🏻 Я в VK - vk.com/helcode

👉🏻 Я на Boosty - boosty.to/helcode