То, что Вы спрашиваете, является терминалом бесконечной ширины, часть которой отображается. Это не, как традиционно работают терминалы, ни как приложения ожидают, что они будут работать.
Например, если терминал имеет бесконечную ширину, как визуальные приложения предназначены для работы, когда они хотят отобразить что-то посреди экрана?
Что-то приближающееся к этому, которое можно сделать, хотя использование GNU screen
(Вы, как предполагается, можете присоединить экранную сессию от нескольких терминалов различных размеров, таким образом, экран знает, как отобразить маленькое окно более крупного терминала), и установите screen
ширина окон к чему-то очень большому и затем обманывает визуальные приложения в размышление, что экран width является исходным.
Как (в screen
)
c=$COLUMNS # assuming your shell has that variable
screen -X width -w 1000
stty cols "$c"
Некоторые визуальные приложения будут хорошо работать, некоторые не так хорошо (для установки, когда они сделают относительное расположение или когда они полагаются на обертывание терминала). vim
кажется, работает хорошо.
Затем, чтобы прокрутить и скопировать данные вставки, единственная опция состоит в том, чтобы использовать screen
режим копии. (<prefix>]
) и переместите курсор (см. info -f screen -n Movement
для того, чтобы переместиться в режиме копии).
tmux
может иметь подобные возможности.
Это terminator
эмулятор терминала (базирующийся Java), который не является terminator
это идет с человечностью, также делает просто что с бесконечной терминальной шириной:
screen
основанное решение выше в той его terminfo записи утверждает, что не делает, строка переносится так, приложения знают об этом, и БАКАЛАВР НАУК в начале строки не перемещается в конец предыдущей строки.В то время как Emacs является, прежде всего, редактором и IDE ¹, это, оказывается, соответствует Вашей проблеме очень хорошо. Можно запустить программу в окне Emacs, и Emacs отображает его в простом терминале бесконечной ширины и высоты. Если курсор будет в конце буфера, то окно прокрутит, поскольку программа производит вывод; если Вы переместите курсор, то окно останется помещенным, когда вывод растет.
Ввести M-x shell RET
(т.е. Alt+x shell
Возвратитесь) запустить оболочку в буфере Emacs. Ввести C-u M-x shell RET
или M-1 M-x shell RET
запустить другую оболочку. Можно запустить программу в каждой оболочке и расположить буферы в нескольких окнах, как Вы желаете.
¹ Это, как иногда говорят, лучшая ОС, чем редактор, но только людьми, которые не используют его — это - просто шутка.
screen -X width -w 1000
возвратыNo screen session found.
, какие-либо идеи? – srcspider 28.03.2013, 15:28screen
. Запуститьscreen
сначала. – Stéphane Chazelas 28.03.2013, 15:46screen -X width -w 1000 <mycommand>
– srcspider 28.03.2013, 16:08screen
на терминальном основанный эмулятор терминала. Таким образом, необходимо запустить его сначала как, необходимо было бы запуститьxterm
илиgnome-terminal
во-первых, путем выполненияscreen
команда. Затем в том новом эмуляторе терминала Вы выполняете этоscreen -X
команда для сообщенияscreen
изменить его ширину окна. См. также мой отредактированный ответ дляterminator
эмулятор, который я подозреваю, что Вы предпочтете. – Stéphane Chazelas 28.03.2013, 16:25