Pytasz o terminal o nieskończonej szerokości, którego część jest wyświetlana. Nie chodzi o to, jak tradycyjnie działają terminale, ani o to, jak aplikacje oczekują od nich działania.
Na przykład, jeśli terminal ma nieskończoną szerokość, w jaki sposób aplikacje wizualne mają działać, gdy chcą wyświetlać coś na środku ekranu?
Można jednak zbliżyć się do GNU screen(powinieneś być w stanie dołączyć sesję ekranu z kilku terminali o różnych rozmiarach, aby ekran wiedział, jak wyświetlić małe okno większego terminalu) i ustawić screenszerokość okna na coś bardzo duże, a następnie oszukać aplikacje wizualne do myślenia, że szerokość ekranu jest oryginalna.
Jak (w screen)
c=$COLUMNS # assuming your shell has that variable
screen -X width -w 1000
stty cols "$c"
Niektóre aplikacje wizualne będą działały dobrze, inne nie tak dobrze (do instalacji, gdy dokonają względnego pozycjonowania lub gdy polegają na zawijaniu terminali). vimwydaje się działać OK.
Następnie do przewijania i skopiować wkleić dane, jedyną opcją jest użycie screen„s kopiowania tryb. ( <prefix>]) i poruszaj się po kursorze (patrz info -f screen -n Movementporuszanie się w trybie kopiowania ).
tmux może mieć podobne możliwości.
Ten terminatoremulator terminala (oparty na Javie), który nie jest terminatordostarczany z Ubuntu, robi to samo z nieskończoną szerokością terminala:
- linie nigdy nie są zawijane
- aplikacje wizualne są informowane, że szerokość ekranu zależy od okna, a nie nieskończoności.
- działałoby również lepiej niż
screenpowyższe rozwiązanie oparte na tym, że jego wpis terminfo twierdzi, że nie wykonuje zawijania linii, więc aplikacje są tego świadome, a BS na początku linii nie przesuwa się na koniec poprzedniej linii.
lsimceditdziałają w nim dobrze, ponieważ szerokość ekranu i szerokość bufora są obsługiwane osobno.