man

Posted on:

ov-man.png ov-man.png

伝統的なUnix系のシステムでは、manコマンドは、システム上のコマンドやプログラムのマニュアルページを表示するための標準的なツールです。manコマンドは、通常、ページャーを使用してマニュアルページを表示します。デフォルトでは、lessが使用されます。 ovは、manページを表示するためのページャーとしても使用できます。

環境変数MANPAGERovを設定してください。おすすめな設定は以下の通りです。

MANPAGER="ov --section-delimiter '^[^\s]' --section-header --sidebar-mode=sections"

manページは、通常、複数のセクションに分かれています。ovは、セクションごとにナビゲートするための便利な機能を提供します。--section-delimiterオプションを使用して、セクションの区切りを正規表現で指定できます。--section-headerオプションを使用すると、各セクションのヘッダーが強調表示されます。さらに、--sidebar-mode=sectionsオプションを使用すると、サイドバーにセクションのリストが表示され、簡単にナビゲートできます。

サイドバーは、起動後もalt+uで表示/非表示を切り替えることができます。

カラフル表示

manページでカラフルに表示したいときはStyleOverStrikeStyleOverLineスタイルによりカスタマイズできます。設定の例は以下の通りです。

StyleOverStrike:
  Foreground: "aqua"
  Bold: true
StyleOverLine:
  Foreground: "red"
  Underline: true

ただし、StyleOverStrikeStyleOverLineは、groffが重ねうち(overstrike/overline)方式で出力している場合にのみ有効です。 新しいバージョンのgroffはデフォルトでANSIエスケープシーケンスを使用するため、この方式では動作しません。 groffに従来の重ねうち方式を使用させるには、MANROFFOPT環境変数を設定してください。

MANROFFOPT="-c"

サイドバー表示時の画面幅

manページは、先に画面幅でroffにより整形されており、サイドバーをそのまま表示したときには、内容が画面幅に収まらない場合があります。 その場合は、alt+uでサイドバーの表示/非表示を切り替えることで、内容が画面幅に収まるように調整できます。

サイドバーを常に表示したい場合は、環境変数MANWIDTHを設定することで、manページの整形幅を指定できます。 サイドバーはデフォルトでは、画面幅の20%を使用します。そのため、以下のようにしてMANWIDTHを80%に設定すると、サイドバーを表示しても内容が画面幅に収まるようになります。

MANWIDTH=$(( $(tput cols) * 80 / 100 ))  man man

画面幅が広い場合は、全部使用せずに、MANWIDTHに固定幅をあらかじめ設定しておくのも良いでしょう。

export MANWIDTH=80
man man