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ć screen
szerokość 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). vim
wydaje 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 Movement
poruszanie się w trybie kopiowania ).
tmux
może mieć podobne możliwości.
Ten terminator
emulator terminala (oparty na Javie), który nie jest terminator
dostarczany 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ż
screen
powyż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.
ls
imcedit
działają w nim dobrze, ponieważ szerokość ekranu i szerokość bufora są obsługiwane osobno.