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 은 환경 변수에 설정 될 수 less
있는 옵션 -R
(또는 --RAW-CONTROL-CHARS
) 또는 -r
(또는 --raw-control-chars
)이 제공되지 않으면 작동하지 않습니다 LESS
.
그리고 실제로, 나는 비슷한 옵션을 먼저 찾았습니다 most
(그러나 찾지 못했습니다).
최신 정보
모두가 아닌 UTF-8로 인코딩 된 텍스트에 문제가 있습니다 most
. 제 경우에는 터미널에 문제가 없으므로 터미널이 아닙니다. 3 가지 페이저 모두에 동일한 색상이없는 UTF-8 텍스트가 적합하므로 문자 인코딩이 아닙니다.
답변
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
...