O que você está pedindo é um terminal de largura infinita, uma parte do qual está sendo exibido. Não é como os terminais funcionam tradicionalmente nem como os aplicativos esperam que funcionem.
Por exemplo, se o terminal tiver largura infinita, como os aplicativos visuais devem funcionar quando querem exibir algo no meio da tela?
Algo que você pode fazer é usar o GNU screen
(você deveria poder anexar uma sessão de tela a partir de vários terminais de diferentes tamanhos para que a tela saiba como exibir uma pequena janela de um terminal maior) e defina a largura da janela screen
para algo muito grande e, em seguida, engane os aplicativos visuais para que a largura da tela seja a original.
Como (dentro de screen
)
c=$COLUMNS # assuming your shell has that variable
screen -X width -w 1000
stty cols "$c"
Alguns aplicativos visuais funcionarão bem, alguns não tão bem (para instalação, quando eles fazem posicionamento relativo ou quando confiam no encapsulamento do terminal). vim
parece funcionar bem.
Em seguida, para rolar e copiar dados colados, a única opção é usar o modo cópia de screen
. ( <prefix>]
) e mova o cursor (veja info -f screen -n Movement
para se movimentar no modo copiar ).
tmux
pode ter recursos semelhantes.
Este terminator
terminal emulator (baseado em java), que não é o terminator
que vem com o Ubuntu também faz isso com uma largura de terminal infinita:
- as linhas nunca são agrupadas
- as aplicações visuais são informadas de que a largura da tela é o que couber na janela, não o infinito.
- também funcionaria melhor do que a solução baseada em
screen
acima em que sua entrada terminfo afirma que não faz quebra de linha para que os aplicativos estejam cientes disso, e BS no início da linha não se move para o fim da linha anterior.