Bat: un clon de gato con resaltado de sintaxis e integración con Git

Esta guía explica qué es Bat, cómo instalar Bat en Linux y cómo usar el comando Bat en los sistemas operativos Linux y Unix.

¿Qué es el murciélago?

En sistemas Linux y similares a Unix, el'gato'El comando se utiliza para imprimir y concatenar archivos.

Con el comando cat, podemos imprimir el contenido de un archivo en la salida estándar, concatenar varios archivos en el archivo de destino y agregar varios archivos en el archivo de destino.

Hoy, me topé con una utilidad similar llamada“Murciélago”. Es solo un clon del comando cat, con algunas características interesantes adicionales, como resaltado de sintaxis, integración de git y paginación automática, etc.

Instalar murciélago en Linux

Bat está empaquetado para los sistemas operativos Linux populares.

Linux alpino:

Bat está disponible en los repositorios oficiales de Alpine Linux. Para instalar bat en Alpine Linux, ejecute:

$ sudo apk add bat

Arco Linux:

Bat está disponible en los repositorios predeterminados de Arch Linux. Por lo tanto, puede instalarlo usando pacman en cualquier sistema basado en arquitectura.

$ sudo pacman -S bat

Sistemas basados en Debian:

¡En Debian, Ubuntu, Linux Mint, Pop_OS! sistemas, descargue el.debarchivo de laPágina de lanzamientose instálelo como se muestra a continuación.

$ wget https://github.com/sharkdp/bat/releases/download/v0.11.0/bat_0.11.0_amd64.deb
$ sudo apt install gdebi
$ sudo gdebi bat_0.11.0_amd64.deb

SUSE/openSUSE:

Puede instalar bat con zypper como se muestra a continuación:

$ sudo zypper install bat

Usando el administrador de paquetes Nix:

En NixOS, puede instalar bat usando el administrador de paquetes nix:

$ nix-env -i bat

Fedor:

Bat se puede instalar desde el oficialFedora Modularrepositorio.

$ sudo dnf install bat

Gentoo:

emerge sys-apps/bat

Linux vacío:

puedes instalarbata través de xbps-instalar:

$ sudo xbps-install -S bat

BSD gratuito:

Puede instalar un precompiladobatPaquete con paquete:

# pkg install bat

O constrúyalo desde los puertos de FreeBSD:

# cd /usr/ports/textproc/bat
# make install

Usando el administrador de paquetes Cargo desde la fuente:

Asegúrese de tener instalado Rust 1.26 o superior.

  • Instalar el lenguaje de programación Rust en Linux

Luego, ejecuta el siguiente comando para instalar Bat:

$ cargo install bat

Usando Linuxbrew:

Alternativamente, puede instalarlo usandolinuxbrewgerente de empaquetación.

$ brew install bat

Comando de murciélago

El uso del comando Bat es muy similar acatmando.

Para crear un nuevo archivo usando bat, haz lo siguiente:

$ bat > file.txt

Para ver el contenido de un archivo usando bat, ejecute:

$ bat file.txt

También puede ver varios archivos a la vez:

$ bat file1.txt file2.txt

Para agregar el contenido de varios archivos en un solo archivo:

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

Como ya mencioné, además de ver y editar archivos, la utilidad Bat tiene algunas funciones interesantes adicionales.

Soportes para murciélagosresaltado de sintaxispara una gran cantidad de lenguajes de programación y marcado. Por ejemplo, observe lo siguiente example.

Voy a mostrar el contenido de lareverse.pyarchivo usando los comandos cat y bat.

comparación de salida de comando cat y bat

¿Notaste la diferencia? loscatEl comando muestra el contenido del archivo en formato de texto sin formato, mientras que Bat muestra la salida con resaltado de sintaxis, número de orden en un formato de columna tabular ordenada. Mucho mejor, ¿no?

Si desea mostrar solo los números de línea (no la columna tabular), use-nbandera.

$ bat -n reverse.py

Salida de muestra:

salida de comando bat sin columna tabular

Otra característica notable del comando Bat es que admitepaginación automática. Eso significa que si la salida de un archivo es demasiado grande para una pantalla, el comando bat canaliza automáticamente su propia salida alesscomando, para que pueda ver la salida página por página.

Déjame mostrarte un example.

Cuando ve el contenido de un archivo que abarca varias páginas con el comando cat, el indicador salta rápidamente a la última página del archivo y no ve el contenido al principio o en el medio.

Echa un vistazo a la siguiente salida:

salida de comando catsalida de comando cat

Como puede ver, el comando cat muestra la última página del archivo.

Por lo tanto, es posible que deba canalizar la salida del comando cat alessComando para ver su contenido página por página desde el principio.

$ cat reverse.py | less

Ahora, puede ver la salida página por página presionando la tecla ENTER. Sin embargo, no es necesario si usa el comando bat. El comando bat canalizará automáticamente la salida de un archivo que abarca varias páginas.

$ bat reverse.py

Salida de muestra:

El comando Bat admite paginación automáticaEl comando Bat admite paginación automática

Ahora presione la tecla ENTER para ir a la página siguiente.

El comando bat también es compatibleintegración GIT, para que pueda ver/editar los archivos en su repositorio de Git sin muchas molestias. Se comunica con git para mostrar modificaciones con respecto al índice (ver barra lateral izquierda).

Integración de Git con el comando BatIntegración de Git con el comando Bat

Personalización de murciélagostema de comando

Si no le gustan los temas predeterminados, también puede cambiarlos. Bat tiene opción para eso también.

Para listar los temas disponibles, simplemente ejecute:

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

Para usar un tema diferente, por example TwoDark, ejecuta:

$ bat --theme=TwoDark file.txt

Si desea que el tema sea permanente, utiliceexport BAT_THEME="TwoDark"en el archivo de inicio de su shell.

Bat también tiene la opción de controlar la apariencia de la salida. Para hacerlo, utilice el--styleopción. Para mostrar solo los cambios de Git y los números de línea, pero no la cuadrícula ni el encabezado del archivo, use--style=numbers,changes.

Puede leer la comparación de herramientas similares deEsta mesa. Tenga en cuenta que la comparación se realiza desde la perspectiva de Bat.

Para obtener más detalles, consulte la página de GitHub del proyecto de comando Bat que se proporciona a continuación.

Recurso:

Actualizaciones del boletín

Ingrese su dirección de correo electrónico a continuación para suscribirse a nuestro boletín