🦇

batコマンドのデフォルトハイライトテーマを変更する

2022/03/30に公開

結論

$ echo '--theme="好きなテーマ"' >> $(bat --config-file)

概要

batコマンドはcatコマンドにコードハイライトなどの機能を追加したコマンドです。
https://github.com/sharkdp/bat/blob/master/doc/README-ja.md

batコマンドには標準でハイライトテーマを指定する機能があります。
ハイライトテーマを指定する方法には次の3つがあります。

  1. --themeオプションを指定する
  2. 環境変数BAT_THEMEを指定する
  3. batコマンドの設定ファイルにテーマを指定する

このうち、デフォルトのテーマを指定するには2番か3番の方法を指定します。

設定ファイル

batコマンドは、設定ファイルにオプションを記述することでコマンド実行時のオプションを省略することができます。
https://github.com/sharkdp/bat/blob/master/doc/README-ja.md#設定ファイル

batコマンドの設定ファイルの配置は、次のコマンドで確認することができます。

$ bat --config-file

あるいは、BAT_CONFIG_PATHを指定して好きな場所に設定ファイルを配置することができます。

$ export BAT_CONFIG_PATH="好きなパス/bat.conf"

ハイライトテーマ

batコマンドは、テキストハイライトのためのテーマを指定できます。
https://github.com/sharkdp/bat/blob/master/doc/README-ja.md#ハイライト-テーマ

batコマンドには予めいくつかのハイライトテーマが用意されています。
ハイライトテーマを確認するためには、次のコマンドを実行します。

$ bat --list-themes

ハイライトテーマを指定するには、--themeオプションを指定します。

$ bat --theme=base16 hogehoge.txt

まとめ

batコマンドの設定ファイルにオプションを指定することでデフォルトのハイライトテーマを変更することができます。
下記のコマンドを実行すればワンライナーで設定可能です。

$ echo '--theme="好きなテーマ"' >> $(bat --config-file)

Discussion