Ich bin sehr neu im Bildschirm, habe aber meine ~ / .screenrc-Datei gemäß verschiedenen Empfehlungen konfiguriert, die ich im Internet gefunden habe. Ich habe jedoch ein Problem damit, von dem ich sicher bin, dass es sehr leicht gelöst werden kann. Ich denke, es ist eine Termcap-Einstellung ..?
Nachdem Sie weniger, vim, top oder andere Programme in Standalone-Bash (unter Mac OS X 10.6) verwendet haben, wird beim Beenden dieser Programme der Puffer des Terminals gelöscht und die Zeile über der aktuellen Befehlszeile ist der vorherige Befehl, den ich eingegeben habe.
Wenn ich jedoch mit screen eines dieser Programme beende, wird der Bildschirmpuffer nicht gelöscht / aktualisiert und ich werde immer noch sehen, was ich in diesem Programm gesehen habe. Sinnvoll?
zB in Standalone-Bash (ohne Bildschirm): -
hostname:~ auser$ vim afile
[do stuff in file, then :q to exit]
Nach dem Verlassen werde ich sehen: -
hostname:~ auser$ vim afile
hostname:~ auser$
Aber auf dem Bildschirm: -
bash-3.2$ vim afile
[do stuff in file, then :q to exit]
Nach dem Beenden sehe ich einen ganzen Bildschirm von: -
~ # [Empty lines in vim are represented by these tilda characters. ]
...
~ # [ Every line on the screen is one of these tildas ]
bash-3.2$ # [ This is the bottom line in the terminal ]
Ich hoffe, das macht irgendwie Sinn. Jede Hilfe wird sehr geschätzt! TIA
quelle
Antworten:
Die Antwort liegt in den Terminalfunktionen sowohl des von Ihnen verwendeten "echten" Terminals als auch des Terminals, über das Anwendungen angezeigt werden
screen
. Anwendungen, die ihre Terminal-E / A überscreen
ein Terminal vom Typ ausführenscreen
. Ihr "echtes" Terminal könnte alles vonxterm
bis seinvt100
. (Verwenden Sieprintenv TERM
oder gleichwertig, um herauszufinden.)TUI-Anwendungen mögen
vim
und passenless
ihr Verhalten an das Terminal an, zu dem sie sprechen. Diese Antwort ist viel zu kurz für eine detaillierte Darstellung der Mechanik des Terminfo- Mechanismus oder sogar für die Mechanik, wie Programme ihn mögenvim
undless
nutzen. Es gibt ganze Bücher über dieses Zeug. Ein sehr kurzer Grund ist, dass Ihr "echtes" Terminal für eine Funktion wirbt, die dasscreen
Terminal nicht bietet.Außerdem wurde dies auf SuperUser natürlich bereits ausführlich beantwortet, hier und hier und hier .
quelle
setzt
altscreen on
in~/.screenrc
oder Control+ a:altscreen
+Returnquelle