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 screenFensterbreite 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). vimscheint 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 Movementin bewegten um Kopie - Modus).
tmux kann ähnliche Fähigkeiten haben.
Dieser terminatorTerminal-Emulator (Java-basiert), der nicht terminatormit 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
screenbasierte 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.
lsundmceditfunktionieren einwandfrei, da Bildschirmbreite und Pufferbreite getrennt behandelt werden.