2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

catにシンタックスハイライトを。「bat」でファイル確認を快適に

2
Posted at

はじめに

ターミナルでファイルの中身をサッと確認したいとき、cat コマンドを使う方は多いと思います。シンプルで軽量、どの環境にもある安心感がありますよね。

ただ、コードを確認するときに「色がついていたら読みやすいのに」と思ったことはありませんか?

今回紹介する bat は、cat の使い勝手はそのままに、シンタックスハイライトや行番号表示などの機能を追加したツールです。

bat とは

bat は、Rust製の cat コマンド代替ツールです。

主な特徴

特徴 説明
🎨 シンタックスハイライト 言語に応じた色付けで読みやすい
🔢 行番号表示 デフォルトで行番号を表示
📄 ファイル名表示 どのファイルを見ているか一目で分かる
🔀 Git連携 変更行にマークを表示
📖 ページャー対応 長いファイルも快適に閲覧

インストール

macOS(Homebrew)

brew install bat

Ubuntu/Debian

sudo apt install bat

注意: Ubuntu/Debian では batcat というコマンド名になる場合があります。
その場合は alias bat='batcat' を設定すると便利です。

その他

詳しくは公式インストールガイドを参照してください。

基本的な使い方

シンプルな表示

bat ファイル名

ファイル名、行番号、シンタックスハイライトが表示されます。

cat との比較

cat の場合:

cat src/index.ts

image.png

bat の場合:

bat src/index.ts

image.png

同じファイルでも、色付けと行番号があると読みやすさが全然違います。

便利なオプション

シンプル表示(行番号・枠なし)

bat --style=plain ファイル名

image.png

cat と同じようなシンプルな出力で、シンタックスハイライトだけ有効になります。

行範囲を指定して表示

bat --line-range 0:2 ファイル名

image.png

大きなファイルの一部だけ確認したいときに便利です。

言語を明示的に指定

bat --language=json ファイル名

拡張子がないファイルや、正しく認識されない場合に使います。

複数ファイルを連結して表示

bat file1.ts file2.ts

複数のファイルをまとめて確認できます。

おすすめエイリアス設定

zsh の場合(~/.zshrc)

alias cat='bat --paging=never'

fish の場合(~/.config/fish/config.fish)

alias cat='bat --paging=never'

--paging=never をつけると、短いファイルでもページャーが起動せず、cat と同じ感覚で使えます。

設定後、以下のコマンドで反映します。

# zsh
source ~/.zshrc

# fish
source ~/.config/fish/config.fish

よく使うオプション

オプション 説明
--style=plain 行番号・枠なしで表示
--style=numbers 行番号のみ表示
--paging=never ページャーを無効化
--line-range N:M 行範囲を指定
--language=LANG 言語を明示的に指定
--theme=テーマ名 カラーテーマを変更
--list-themes 利用可能なテーマ一覧
--list-languages 対応言語一覧

対応言語

bat は多くの言語に対応しています。

bat --list-languages

TypeScript、Go、Python、Rust、SQL、YAML、JSON、Markdown など、主要な言語はほぼ対応しています。

cat と bat の比較表

機能 cat bat
シンタックスハイライト
行番号 ❌(nl が必要)
Git連携
ページャー ❌(less が必要)
速度 速い 速い

まとめ

  • batcat にシンタックスハイライトを追加したツール
  • 行番号・ファイル名表示で、どこを見ているか分かりやすい
  • Git連携で変更行も確認できる
  • エイリアス設定で cat の代わりに使える

cat はそのままでも十分シンプルで良いコマンドですが、コードを読む機会が多い方は bat を試してみると、ターミナルでの作業が少し快適になるかもしれません。


参考リンク

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?