`most` pager가 표준 입력에서 색상을 올바르게 처리하도록하십시오 command most less그리고 more동안 제대로

most표준 입력에서 수신 한 텍스트에 페이저가 색상을 올바르게 표시 하도록하려면 어떻게합니까 ?

참고 :의 버그인지 확실하지 않습니다 most.

와와 같은 문제가 발생하지 않고 lessmoremost사용합니다 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
         ...


답변