O problema básico é que a formatação é feita por um programa e a paginação é feita por outro. Mesmo que o formatador receba um sinal de que o tamanho da janela mudou e reformate o texto para o novo tamanho da janela, tudo o que ele pode fazer é inserir um novo texto no pipeline para o pager. Não há como o pager saber com certeza qual posição no novo stream corresponde à posição no stream antigo que estava exibindo no momento.
O que você precisa é que o pager consiga fazer a reformatação. Como @Robin Green disse, isso é HTML.
Se você quiser usar HTML, mas ainda trabalhar em um terminal, poderá informar man(1)
a saída em HTML e chamar um navegador em modo texto para exibi-lo.
man -Hlynx man
Isso exibirá a% man_de% manpage no navegador do modo de texto lynx. O Lynx não responde diretamente às alterações no tamanho da janela, mas você pode pressionar ctrl-R e o lynx renderizará novamente a página para o novo tamanho da janela.
Existem dois outros navegadores de modo de texto que eu conheço: links e elinks. Você pode experimentar com esses e lynx e determinar quais oferecem a melhor experiência para navegar em páginas do manual. Você pode querer usar uma configuração personalizada apenas para man pages e invocar um script que invoque o navegador com essa configuração específica.
Você pode colocar as opções man que você gosta na variável de ambiente man(1)
.
$ export MANOPT=-Hlynx
$ export MANOPT=-Hmanlynx # manlynx invokes lynx with a different configuration.
Você precisará instalar o pacote MANOPT
para groff
para gerar HTML.