Was Sie fragen, ist ein Terminal mit unendlicher Breite, von dem ein Teil angezeigt wird. Es ist nicht so, wie Terminals traditionell funktionieren oder wie Anwendungen erwarten, dass sie funktionieren.
Wenn das Terminal beispielsweise eine unendliche Breite hat, wie sollen visuelle Anwendungen funktionieren, wenn sie etwas in der Mitte des Bildschirms anzeigen möchten?
Sie können jedoch GNU verwenden screen
(Sie sollten in der Lage sein, eine Bildschirmsitzung von mehreren Terminals unterschiedlicher Größe aus anzuhängen, damit der Bildschirm weiß, wie ein kleines Fenster eines größeren Terminals angezeigt wird) und die screen
Fensterbreite auf etwas einstellen sehr groß und täuschen Sie dann visuelle Anwendungen vor, dass die Bildschirmbreite die ursprüngliche ist.
Wie (innerhalb screen
)
c=$COLUMNS # assuming your shell has that variable
screen -X width -w 1000
stty cols "$c"
Einige visuelle Anwendungen funktionieren einwandfrei, andere nicht so gut (für die Installation, wenn sie relativ positioniert sind oder wenn sie sich auf die Terminalumhüllung verlassen). vim
scheint in Ordnung zu funktionieren.
Dann werden die Daten zu blättern , und kopieren und einfügen, die einzige Möglichkeit ist , verwenden screen
‚s Kopie - Modus. ( <prefix>]
) Und die Cursor bewegen (siehe info -f screen -n Movement
in bewegten um Kopie - Modus).
tmux
kann ähnliche Fähigkeiten haben.
Dieser terminator
Terminal-Emulator (Java-basiert), der nicht terminator
mit Ubuntu geliefert wird, macht genau das mit einer unendlichen Terminalbreite:
- Zeilen werden niemals umbrochen
- Visuellen Anwendungen wird mitgeteilt, dass die Bildschirmbreite das ist, was in das Fenster passt, nicht unendlich.
- Es würde auch besser funktionieren als die oben beschriebene
screen
basierte Lösung, da der Terminfo-Eintrag behauptet, dass kein Zeilenumbruch durchgeführt wird, sodass Anwendungen dies wissen und BS am Anfang der Zeile nicht zum Ende der vorherigen Zeile verschoben wird.
ls
undmcedit
funktionieren einwandfrei, da Bildschirmbreite und Pufferbreite getrennt behandelt werden.