'less' não limpa a tela depois de sair

2

O comportamento padrão para "menos" é limpar a tela depois de sair. Esse comportamento parou quando comecei a usar:

export TERM=xterm

Agora, 'menos' sai da última página que visualizei na tela e quero reativar o comportamento padrão de limpar a tela.

Pesquisando este problema, descobri que as pessoas usam o seguinte comando em ~/.screenrc :

altscreen on

Não tenho certeza se esse é um problema do Mac, mas não tenho esse comando disponível.

Estou usando o shell bash no terminal Mac e não tenho uma variável de ambiente $LESS definida.

    
por Dana 30.06.2011 / 16:30

3 respostas

1

Dê uma olhada na variável de ambiente $ LESS e verifique se ela não especifica -X. Eu especificamente adiciono isso a $ LESS, porque eu não quero a tela limpa. Aqui está um snipet da manpage:

-X or --no-init Disables sending the termcap initialization and deinitialization strings to the terminal. This is sometimes desirable if the deini- tialization string does something unnecessary, like clearing the screen.

    
por 30.06.2011 / 18:12
0

Esta resposta é uma extensão da resposta de @KeithB.

verifique as opções de MENOS por echo $LESS . Se tiver a opção -X , remova-a.

LESS="options"; export LESS

Nas opções incluem opções diferentes de -X . Para mais informações, consulte a página do manual .

    
por 30.09.2016 / 09:13
0

Algum esclarecimento é necessário: less somente limpará a tela como parte da exibição de uma nova página. O que é descrito na pergunta é a tela alternativa , um recurso xterm que Terminal.app suporta.

Quando você vê a tela apagada, isto é porque o terminal alternou temporariamente para a tela alternativa (para executar less ) e voltou para a tela normal (mostrando apenas o prompt do seu shell e o que quer que precedeu antes de executar less ).

less obtém as informações sobre como alternar para / da tela alternativa a partir da descrição do terminal, usando $TERM para localizar essas informações. Eu não vejo isso no OSX agora (a questão data de 2011), mas alguns desenvolvedores não gostam do recurso e o removem da descrição do terminal (por exemplo, FreeBSD ).

A pergunta não informou o que foi $TERM antes de alterar para xterm . Isso usava uma descrição de terminal diferente, onde o recurso não havia sido removido.

    
por 02.10.2016 / 23:01