【batとは】catを超えるRust製コマンドbatの主要機能を徹底解説(bat 1/2)
はじめに
Rustで開発されたモダンなcat代替コマンドbatについて、
「catと何が違うのか?」「どんな機能があるの?」を画像つきでわかりやすく解説します。
Git連携やシンタックスハイライトなど、日常的な開発を快適にするbatの魅力を紹介します。
詳細な説明については、公式リポジトリのReadmeを参考にしていただければと思います。
解説バージョン
| 解説アプリ | バージョン名 |
|---|---|
| bat | v0.25.0 |
| warp | v0.2025.05.21.08.11.stable_01 |
batコマンドとは?
batコマンドは、sharkdp氏によってRustで開発されたcatコマンドのモダンバージョンです。
VScodeでいいなんて言わないでください😭
使うメリット
- コーディング効率の向上
- ミスの早期発見
- 他コマンドとの連携
どんな人におすすめ?
- かっこいいコマンドを使いたい人
- コマンドライン上でファイルを見ることが多い人
コマンドの主な特徴
行番号の自動付与
cat -nと同じ設定がデフォルトで設定されています。
画像

ファイルのメタ情報の表示
メタ情報がとしてはファイル名が表示されます。
画像

シンタックスハイライト
VSCodeのそれにかなり近い状態で表示されます。
(テーマ設定にVSCode用のもあったりします。)
画像

Gitの差分の可視化
Gitの差分を可視化して確認することができます。
GitHubでの差分のそれにかなり近いです。
画像

自動ページング
catではlessと統合しておく必要がある機能がデフォルトでついています。
短いファイルでは、下記のようにそのまま表示されます。
画像

長いファイルでは自動的にlessに相当する機能が実行されます。
画像

ファイル連結
catにもありますが、ファイルのメタ情報も合わせて表示内容がわかりやすくなっています。
画像

メタ情報はファイル出力には現れないので、標準出力時には綺麗になります。
画像

別コマンドとの統合
GitHUbでは、fzf, ripgrep, gitなどが紹介されています。
過去のバージョンのファイル情報をgitコマンドで呼び出して、batに受け渡す方法です。
画像

テーマのカスタマイズ
デフォルトで設定されているテーマを設定することで、デフォルトのカラー以外を使うことができます。
現状設定されているテーマ名
- 1337
- Coldark-Cold
- Coldark-Dark
- DarkNeon
- Dracula
- GitHub
- Monokai Extended (default)
- Monokai Extended Bright
- Monokai Extended Light (default light)
- Monokai Extended Origin
- Nord
- OneHalfDark
- OneHalfLight
- Solarized (dark)
- Solarized (light)
- Sublime Snazzy
- TwoDark
- Visual Studio Dark+
- ansi
- base16
- base16-256
- gruvbox-dark
- gruvbox-light
- zenburn
上記の既存のテーマ以外にカスタムテーマを設定することができますが、ここでは割愛します。
↓はカスタムテーマを適用するための設定手順です(GitHubの内容を翻訳しておきます)。
# テーマを保存するディレクトリの作成
mkdir -p "$(bat --config-dir)/themes"
cd "$(bat --config-dir)/themes"
# '.tmTheme'の拡張子でテーマを適切に作成
# 例としては、下記のgreggb/sublime-snazzyが紹介されていました。
# git clone https://github.com/greggb/sublime-snazzy
# キャッシュを更新
bat cache --build
# 変更が反映されているか確認
bat --list-themes
bat解説シリーズ
【機能解説】catの代替として注目されるモダンコマンドのbatとは?【bat 1/2】
【導入・チートシート】batコマンドの導入方法と使い方チートシート【bat 2/2】
Discussion