Existe uma maneira para “less” truncar linhas e ainda sair após 1 tela?

5

Como muitos (a maioria), eu uso o git, que por padrão envia sua saída (para diffs, logs, etc.) para less , com as opções -FRSX . As opções são passíveis de serem sobrepostas no .gitconfig, configurando o pager para ser chamado com opções de sobreposição. Por exemplo:

  pager=less -F -+S

Quando eu defino less para sair depois de menos de uma tela de saída e não truncar linhas (ou seja, less -F -+S como no exemplo acima), eu retorno automaticamente ao prompt de comando após Eu corro (digamos) um comando log .

No entanto, se eu fizer tê-lo cortado (isto é, use somente less -F ), e todas as linhas serão truncadas , então quando terminar, não sai imediatamente, mas imprime END e espera que eu pressione Q , o que é um pouco irritante.

(Note que o comportamento problemático não acontece se nenhuma linha estiver truncada porque é mais restrita que o meu terminal. O problema não está ocorrendo porque é solicitado para truncar as linhas, mas isso está realmente fazendo isso.)

Existe uma maneira de cortar linhas e sair de less automaticamente depois de menos de uma tela?

    
por Wilson F 22.09.2015 / 23:22

1 resposta

6

Bem ... isso seria contra a idéia de paginação ... não seria? : -)

Mas para responder à sua pergunta: tenho certeza de que não há. Isso é do código-fonte de menos:

/*
 * The char won't fit in the line; the line
 * is too long to print in the screen width.
 * End the line here.
 */
if (chopline || hshift > 0)  <--- you have chop lines (-S)
{
        ...
        quit_if_one_screen = FALSE;    <--- this resets -F
}

Desculpe: -)

    
por 23.09.2015 / 01:30

Tags