Alterar menos opções padrão (pager)

9

Estou usando o Ubuntu 10.04. Meu pager padrão (definido usando alternativas de atualização, não $ PAGER) é menor. O problema é que, quando uso ri (ferramenta de documentação Ruby) com o modo '-f ansi', menos mostra as seqüências de escape (como 'ESC [36m') em vez de exibir o texto em cores. Eu posso forçá-lo a mostrar cores canalizando manualmente a saída para menos com a opção -R, por exemplo:

ri -f ansi String | less -R

No entanto, eu gostaria que essa fosse a opção padrão quando menos for usado como pager.

Nota: Eu sei que mais e mais mostram cores por padrão, mas uso menos por causa das combinações de teclas do tipo vi.

imgx64
fonte

Respostas:

9

Encontrei a resposta em outro lugar. Eu precisava usar lesskeypara configurar as opções de less:

$ lesskey -
#env
LESS = -R

Então Ctrl+d

fez o truque. Ainda não sei por que menos ignora $ LESS.

imgx64
fonte
Aha! as opções ~/.less(que é o que lesskeyescreve) substituem as do ambiente. Então você deve ter um .lessarquivo contendo LESS=-rantes.
Gilles 'SO- stop be evil' (
3

Defina a LESSvariável de ambiente como uma lista separada por espaços de suas opções favoritas.

Gilles 'SO- parar de ser mau'
fonte
Não funcionou, menos totalmente ignora $ menos. Acho que esse é um problema específico do Ubuntu, pois muitas outras variáveis ​​de shell são ignoradas, incluindo $ PAGER e $ EDITOR.
Imgx64
lessdefinitivamente leva $LESSem conta, no Ubuntu 10.04 como em qualquer outro lugar. E $PAGERe $EDITORtrabalho também. Parece que você não está definindo as variáveis ​​de ambiente corretamente. Como você fez isso?
Gilles 'SO- stop be evil' (
Tentei o seguinte: "export LESS = '- R'; ri -f ansi String | less" No entanto, menos usa outras variáveis ​​de ambiente corretamente, como as mencionadas aqui: crunchbanglinux.org/forums/topic/2403/color- Man-Pages
imgx64
@ imgx64: Funciona para mim ™ e não vejo como não funcionou. Hmmm ... Qual é a saída dos dois comandos type lesse env | grep LESS?
Gilles 'SO- stop be evil' (
"menos é / usr / bin / less" e "MENOS = -R LESSOPEN = | / usr / bin / lesspipe% s LESSCLOSE = / usr / bin / lesspipe% s% s"
imgx64
1

O problema mais provável é que você não exportou a menos variável.

LESS="FRX"
ls -l | less
<not colorized>

export LESS="FRX"
ls -l | less
<colorized>

Você pode, por exemplo, criar um arquivo chamado '/etc/profile.d/less.sh', com apenas 'export LESS = "FRX"', e sua menor configuração estará disponível em todo o sistema.

Mr. B
fonte
Você não é divertido, magro. ..o que há de errado em apontar um pouco de necromancia?
Sr. B