Quando visualizo dados com tabulações em less
, os caracteres de tabulação são expandidos para espaços. Se eu os copiar diretamente do meu terminal usando ctrl-c, eles serão copiados como espaços. Por outro lado, more
preserva os caracteres de tabulação, assim como muitos outros comandos como tail
e head
. Existe alguma maneira de less
manter as guias intactas?
-r
não parece ter nenhum efeito mesmo quando combinado com -U
, que afirma tratar as guias como caracteres de controle. Não vejo nenhuma outra opção relevante para arquivos less
.
A página de manual para
less
parece ser enganosa.Ao usar as opções
-r
e-U
em combinação, você impediráless
a conversão de tabulações em espaços enquanto ele lê as linhas da entrada e preenche seu buffer de saída. No entanto, quando o buffer de saída é gravado em um terminal (ao contrário de ser gravado em um arquivo ou pipe), uma segunda conversão de tabulações em espaços é efetuada nawrite()
chamada devido às configurações do termio, comportamento contrário ao esperado ao ler a página de manual .Se você compilar a
less
partir do código-fonte e comentar ou#ifdef
excluir as linhas which orXTABS
,OXTABS
ouTAB3
intos.c_oflag
inscreen.c:raw_mode()
(linhas 398-411 e 489 na versão 487 deless
), obterá uma versão daless
qual gera caracteres de tabulação se invocada com-r -U
.Não consegui encontrar nenhuma opção de linha de comando existente para produzir o comportamento desejado, embora fosse fácil produzir uma versão na qual esse comportamento fosse alternável.
Usar um terminal suficientemente burro também deve funcionar.