Cores de linha alternadas no terminal

2

Existe algum terminal ou shell que suporte cores de linhas alternadas para melhor legibilidade? Comandos que produzem dados em forma de tabela, por exemplo apt-cache search, às vezes é um pouco difícil de ler, especialmente para largas janelas de terminal, e seria mais fácil se linhas ímpares fossem ligeiramente diferentemente coloridas que linhas pares. / p>     

por nijoakim 05.01.2017 / 15:15

2 respostas

1

Você pode querer procurar um emulador de terminal que suporte a imagem de fundo no modo lado a lado (ou seja, repetido, não dimensionado / esticado) e criar uma imagem de plano de fundo para você mesmo.

A principal desvantagem é que ele não funcionará se você ampliar o terminal, mas pode funcionar muito bem se você tiver um certo tamanho de fonte favorito que você sempre usa.

Não se esqueça do preenchimento do terminal. Por exemplo. no caso de emuladores baseados em VTE (e muitos outros), há um padding padrão de 1px em torno de toda a área de células de caracteres. Se a sua altura da fonte é, digamos, 20px, você deve criar uma imagem de 1x40 com o primeiro pixel sendo color1, depois 20 pixels de color2 e, em seguida, outros 19 pixels de color1. Isto é, obviamente, assumindo que o emulador alinha a imagem de fundo no topo.

Entre os emuladores de terminal baseados na versão recente do VTE, o Terminix [atualização: agora é chamado Tilix] e o Xfce4-terminal (versão 0.8.x) suportam imagens de fundo, você deve tentar ver se eles oferecem esse tipo de ladrilhos. Se não, eu tenho certeza que seus autores estariam abertos para implementar isto (apenas aponte-os para esta página :)). Versões mais antigas do VTE costumavam suportar explicitamente a imagem de fundo, mas eu não recomendo usá-lo devido a muitos outros bugs. Terminologia e urxvt são algumas outras possibilidades para tentar.

Eu costumava ter uma margem direita permanente na coluna 80 usando essa abordagem.

Atualização: Eu realmente tentei com o xfce4-terminal e funciona como esperado. Uma pequena desvantagem que não pensei é que o plano de fundo não rola junto com o conteúdo quando você rola para trás, o que é especialmente perturbador com a rolagem por pixel (IMO, caso contrário, legal) do VTE-0,44.

    
por 05.01.2017 / 18:57
1

Você pode canalizar a saída das coisas que deseja colorir para um pequeno script awk, isso não deve atrapalhar muito o desempenho. Por exemplo:

NR%2 == 0 {
    print "3[1;36m" $0 "3[0m"
    next
}

{
    print "3[1;46;30m" $0 "3[0m"
}
  1. Coloque em um arquivo .awk em algum lugar no seu PATH
  2. Adicione esta linha ao seu .bashrc e reencaie-a:

    alias ImFabulous='myfunc';myfunc(){ eval "$@ | awk -f MakeItFabulous.awk";}
    
  3. Experimente: $ ImFabulous <your command here> .

Por exemplo: ImFabulous cat /etc/hosts . A versão que eu dei é bem básica, mas para seus grandes arquivos tabulados, isso deve funcionar. Você pode estudar as aparências pesquisando as seqüências de escape de cores para se adequar ao seu tipo de fabuloso. Se você não quiser o alias, basta digitar isso: <my command> | awk -f MakeItFabulous.awk

    
por 05.01.2017 / 18:19