A página de manual para less
parece ser enganosa.
Ao usar as opções -r
e -U
em combinação, você evitará que less
converta guias em espaços conforme 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 é afetada na chamada write()
devido a configurações de termio, contradizendo o comportamento esperado lendo a manpage.
Se você compilar less
da origem e comentar ou #ifdef
das linhas que ou XTABS
, OXTABS
ou TAB3
em s.c_oflag
em screen.c:raw_mode()
(linhas 398-411 e 489 na versão 487 de less
), você obterá uma versão de less
que produz caracteres de guia se invocada com -r -U
.
Eu não encontrei 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 togglable.
Usar um terminal suficientemente burro também deve funcionar.