web-dev-qa-db-ja.com

`most`ページャが標準入力からの色を適切に処理するようにする

mostページャーに標準入力から受け取ったテキストの色を正しく表示させるにはどうすればよいですか?

注:それがmostのバグであるかどうかはわかりません。

lessmoreで同じ問題が発生することはなく、mostでのみ発生します。それ以外の場合は、manで使用されるポケットベルとして適切に機能します。

私は画像を投稿していません。これを試してみてください(mostがインストールされている場合のみ):

$ command apropos Zip | command grep --color=always Zip | command less
$ command apropos Zip | command grep --color=always Zip | command more
$ command apropos Zip | command grep --color=always Zip | command most

lessmoreは適切に色を表示し、mostはすべての色付きテキスト領域をラップする追加の「ガベージ」^[[Kで色を表示します。

驚いたことに、これは問題ありません。

$ (export PAGER=most; command man Zip)

何かが足りない(mostのマニュアルページが役に立たなかった)、コマンドの誤用、またはこれはバグとして報告する必要があるものですか?

less(更新)に関するメモ:

Sparhawkがコメントで述べたように、オプション-R(または--RAW-CONTROL-CHARS)または-r(または--raw-control-chars)が指定されていない場合、lessは機能しません。 、これはLESS環境変数でも設定できます。

実際、私は最初にmostの同様のオプションを検索しました(ただし、1つは見つかりませんでした)。

更新

mostだけでなく、すべてに色付きのUTF‑8エンコードテキストに関する問題があります。私の場合、端末はそれで問題ないので、それは端末ではありません。同じ無着色のUTF‑8テキストは、3つのポケットベルすべてで問題ないため、文字エンコードではありません。

10
Hibou57
man grep 2>/dev/null | 
GREP_COLORS=$(man grep 2>/dev/null | 
grep '^ *ms=01;31' -m1):ne \
grep '^ *GREP_COLORS *$\|^ *ne ' -A9 --color=always | 
most

私のために働きます。ちなみに、これを理解するためにmostをインストールしたところ、気に入っています。ありがとうございました。

   GREP_COLORS
          Specifies  the  colors  and other attributes
          used  to  highlight  various  parts  of  the
          output.  Its value is a colon-separated list
          of    capabilities    that    defaults    to
          ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36
          with the  rv  and  ne  boolean  capabilities
          omitted     (i.e.,     false).     Supported
          capabilities are as follows.

          ne     Boolean  value that prevents clearing
                 to the end of  line  using  Erase  in
                 Line  (EL) to Right (\33[K) each time
                 a  colorized  item  ends.   This   is
                 needed  on  terminals  on which EL is
                 not  supported.   It   is   otherwise
                 useful  on  terminals  for  which the
                 back_color_erase    (bce)     boolean
                 terminfo  capability  does not apply,
                 when the chosen highlight  colors  do
         ...
1
mikeserv