Bat Command - Syntax Highlighting for Terminal

Learn to use the Bat command for enhanced terminal file viewing with syntax highlighting, Git integration, and more. Discover Bat commands for displaying files, listing languages, and setting syntax.

Bat Command

The bat command is a powerful utility that enhances the default cat command by providing syntax highlighting, Git integration, and automatic paging. It's an excellent tool for developers and anyone who frequently works with code or configuration files in the terminal.

Basic File Display with Bat

To display a single file with syntax highlighting, use the following command:

bat <file>

Displaying Multiple Files

You can view multiple files sequentially by listing them after the bat command:

bat <file> <file>

Showing Non-Printable Characters

To visualize non-printable characters, such as spaces and tabs, use the -A or --show-all flag:

bat -A <file>

Listing Supported Languages

bat supports a wide range of programming languages for syntax highlighting. To see a list of all supported languages, use:

bat --list-languages

Setting Syntax Highlighting Language

If bat doesn't automatically detect the correct language, you can manually specify it using the --language flag:

bat --language <language> <file.<language extension>>

For example, to explicitly highlight a Python file:

bat --language python my_script.py

Bat's Git Integration

bat can also show modifications to files tracked by Git. It will display a Git status indicator next to lines that have been added, modified, or deleted.

Automatic Paging

For large files, bat automatically pipes the output to a pager (like less), allowing you to scroll through the content easily.

Further Resources