Faça com que o 'mais' pager manipule adequadamente as cores da entrada padrão

7

Como faço para que o most pager exiba corretamente as cores no texto recebido da entrada padrão?

Nota: não tenho certeza se é ou não um bug em most .

Não estou encontrando o mesmo problema com less e more , apenas com most , que funciona de outra maneira como um pager usado por man .

Não estou postando uma imagem e convidando pessoas para tentar isso (somente se você tiver most instalado):

$ 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 e more exibem cores corretamente, enquanto most exibe cores com “lixo”% adicional^[[K envolvendo todas as áreas de texto coloridas.

Surpreendentemente, tudo bem:

$ (export PAGER=most; command man zip)

Estou faltando alguma coisa (a página de manual para most não ajudou), usando o comando incorretamente ou isso é algo que devo relatar como um bug?

Uma nota sobre less (atualização):

Como Sparhawk mencionou em um comentário, less não funciona se não receber a opção -R (ou --RAW-CONTROL-CHARS ) ou -r (ou --raw-control-chars ), que também pode ser definido no variável de ambiente LESS .

E, de fato, procurei pela primeira vez uma opção semelhante para most (mas não consegui encontrar uma).

Atualizar

Todos têm problemas com texto codificado em UTF-8 colorido, não apenas em most . No meu caso, o terminal está bem com ele, então esse não é o terminal. O mesmo texto UTF-8 não colorido é adequado para todos os três pagers, de modo que não é a codificação dos caracteres.

    
por Hibou57 15.08.2014 / 02:12

1 resposta

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

Funciona para mim. A propósito, acabei de instalar most para descobrir isso e eu gosto disso. Obrigado.

   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 ([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
         ...
    
por 16.08.2014 / 07:35

Tags