📘

batのページャーをovにする

2023/10/23に公開

はじめに

ovはターミナルページャーです。
UTF-8のみをサポートしています。

batはcatの代わりに使用するコマンドで、シンタックスハイライトや加工して出力することができます。
ページャーの代わりに使用することもできますが、ページャー機能はなく、lessなどのページャーを自動で呼び出しています。

ovでは、batの出力を見やすくできるため紹介します。

batのページャーの設定

batのページャーは、PAGERまたはBAT_PAGER環境変数で設定できます。

export BAT_PAGER="ov --quit-if-one-screen -H1"

または ~/.config/bat/configに設定することもできます。

--wrap=never
--pager="ov --quit-if-one-screen -H1 --section-header"

batでも折り返し表示(wrap)が可能ですが、batの方で動的に切り替えができないので、ovの方で切り替えることをお勧めします(--wrap=never)。

--quit-if-one-screenは、1ページの場合に終了するオプションです。
-H1は、ヘッダーを1行表示するオプションです。

--section-headerは、セクションの区切りをヘッダーにするオプションです。

ソースコードの表示

batを使用する目的の一つに多くの種類に対応したシンタックスハイライトがあります。ソースコードを表示するときに便利です。

単純に表示するだけの場合は、lessを使用した場合と大きく変わりませんが、ovのセクション機能を有効にすると、閲覧が便利になります。

batは様々なファイルの閲覧に使用されるため、起動後にそのファイルに合わせて、セクションの区切りを設定しています。
GO言語では、^funcを設定すると、関数の開始がセクションの区切りになります。

そうすると関数単位で移動が可能になり、スクロールして関数の途中を表示しても、関数名がヘッダーとして表示されたままになります。
検索をして移動しても関数名がわかるので便利です。

source-section

Discussion