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.