web-dev-qa-db-ja.com

groff制御文字を表示する男

groffの新しいバージョンをコンパイルした後、Manはgroff制御文字を表示しています。たとえば、groffのマニュアルページを表示しようとすると、次のようになります。

GROFF(1)                    General Commands Manual                   GROFF(1)



ESC[1mNAMEESC[0m
       groff - front-end for the groff document formatting system

ESC[1mSYNOPSISESC[0m
       ESC[1mgroff ESC[22m[ESC[1m-abcegijklpstzCEGNRSUVXZESC[22m] [ESC[1m-d ESC[4mESC[22mcsESC[24m] [ESC[1m-D 
ESC[4mESC[22margESC[24m] [ESC[1m-f ESC[4mESC[22mfamESC[24m] [ESC[1m-F ESC[4mESC[22mdirESC[24m]
             [ESC[1m-I ESC[4mESC[22mdirESC[24m] [ESC[1m-K ESC[4mESC[22margESC[24m] [ESC[1m-L ESC[4mESC[22marg
ESC[24m] [ESC[1m-m ESC[4mESC[22mnameESC[24m] [ESC[1m-M ESC[4mESC[22mdirESC[24m] [ESC[1m-n ESC[4mESC[22mnumESC[24m] [ESC[1m-o ESC[4mESC[22mlistESC[24m]
             [ESC[1m-P ESC[4mESC[22margESC[24m] [ESC[1m-r ESC[4mESC[22mcnESC[24m] [ESC[1m-T ESC[4mESC[22mdevESC[24m] [ESC[1m-w ESC[4mESC[22mnameESC[24m] [ESC[1m-W ESC[4mESC[22mnameESC[24m] [ESC[4mfileESC[24m ...]
       ESC[1mgroff -h ESC[22m| ESC[1m--helpESC[0m
       ESC[1mgroff -v ESC[22m| ESC[1m--version ESC[22m[ESC[4moptionESC[24m ...]

ESC[1mDESCRIPTIONESC[0m
       This  document  describes the ESC[1mgroff ESC[22mprogram, the main front-end for the
       ESC[4mgroffESC[24m document formatting system.  The ESC[4mgroffESC[24m program and macro suite is
       the implementation of a ESC[1mroffESC[22m(7) system within the free software collec-
       tion GNU <http://www.gnu.org>.  The ESC[4mgroffESC[24m system has  all  features  of
:
3
rake

manコマンドはgroffを使用して、ANSIカラーエスケープシーケンス(ISO 6429)とページネーションプログラム(おそらくmoreまたはless)でページをフォーマットしています。は、これらの印刷できない文字を変更せずに端末画面に渡すのではなく、展開しています。

(たとえば)lessにこれらのANSIシーケンスを展開しないように指示するには、-Rまたは--RAW-CONTROL-CHARSオプションを使用します。多くの場合、これを行うには、LESS環境変数に必要なオプションを設定するか、PAGER環境変数を使用します。

$ LESS='-R' man groff
$ PAGER='less -R' man groff

また、基になるgroffへの誤ったディレクティブである可能性があり、groff(またはgrotty)が本当に必要ないときにANSIエスケープを発行します。次のようなものを使用して、エスケープを使用しないようにmanに指示できます。

$ man --ascii groff

grottyのマニュアルページでは、問題を修正するためのオプションについて詳しく説明しています。

4
Ian D. Allen