如何使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 在评论中提到的,如果没有给出选项(or ) 或(or ),less
则不起作用,该选项也可以在环境变量中设置。-R
--RAW-CONTROL-CHARS
-r
--raw-control-chars
LESS
事实上,我首先搜索了类似的选项most
(但未能找到)。
更新
所有这些都存在彩色 UTF-8 编码文本的问题,而不仅仅是most
.就我而言,终端可以使用,所以那不是终端。相同的未着色 UTF-8 文本适用于所有三个寻呼机,因此这不是字符编码。
答案1
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
...