most
ページャーに標準入力から受け取ったテキストの色を正しく表示させるにはどうすればよいですか?
注:それがmost
のバグであるかどうかはわかりません。
less
とmore
で同じ問題が発生することはなく、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
less
とmore
は適切に色を表示し、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つのポケットベルすべてで問題ないため、文字エンコードではありません。
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
...