'menos' comando limpando tela ao sair - como desligá-lo?

73

Como forçar o programa less a não limpar a tela ao sair?

Eu gostaria que ele se comportasse como o comando git log :

  • deixa a página vista recentemente na tela ao sair
  • ele não sai do less mesmo se o conteúdo couber em uma tela (tente git log -1 )

Alguma ideia? Eu não encontrei nenhuma opção less adequada nem variáveis de env em um manual, eu suspeito que ela tenha sido definida através de alguma variável env.

    
por Wojciech Kaczmarek 09.02.2010 / 12:21

2 respostas

89

Para impedir que less limpe a tela ao sair, use -X .

Na página de manual:

-X or --no-init

Disables sending the termcap initialization and deinitialization strings to the terminal. This is sometimes desirable if the deinitialization string does something unnecessary, like clearing the screen.

Quanto a menos sair se o conteúdo couber em uma tela, essa é a opção -F :

-F or --quit-if-one-screen

Causes less to automatically exit if the entire file can be displayed on the first screen.

-F não é o padrão, por isso, é provável que você esteja em um local diferente. Verifique o env var LESS .

    
por 09.02.2010 / 12:59
15

Se você quiser que qualquer uma das opções de linha de comando seja sempre padrão, poderá adicionar ao seu .profile ou .bashrc a variável de ambiente LESS. Por exemplo:

export LESS="-XF"

sempre aplicará -X -F sempre que menos for executado a partir dessa sessão de login.

Às vezes, os comandos são alias (mesmo por padrão em certas distribuições). Para verificar isso, digite

alias

sem argumentos para ver se ficou com as opções que você não deseja. Para executar o comando real em seu $ PATH, em vez de um alias, basta inseri-lo com uma barra invertida:

\less

Para ver se uma variável de ambiente LESS está definida em seu ambiente e afetando o comportamento:

echo $LESS
    
por 11.07.2014 / 21:11