GNU-Bildschirmlöschung auf vim, weniger usw. Ausfahrt

7

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

Alex Leach
quelle
2
Also ... was war deine Frage nochmal?
Ignacio Vazquez-Abrams
Ich möchte nur das, woran ich mich gewöhnt habe ... Überraschungsänderungen führen zu stundenlangem Basteln an Einstellungen, mit denen ich nicht vertraut bin
Alex Leach

Antworten:

6

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 über screenein Terminal vom Typ ausführen screen. Ihr "echtes" Terminal könnte alles von xtermbis sein vt100. (Verwenden Sie printenv TERModer gleichwertig, um herauszufinden.)

TUI-Anwendungen mögen vimund passen lessihr 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ögen vimund lessnutzen. Es gibt ganze Bücher über dieses Zeug. Ein sehr kurzer Grund ist, dass Ihr "echtes" Terminal für eine Funktion wirbt, die das screenTerminal nicht bietet.

Außerdem wurde dies auf SuperUser natürlich bereits ausführlich beantwortet, hier und hier und hier .

JdeBP
quelle
6

setzt altscreen onin ~/.screenrcoder Control+ a:altscreen+Return

Bryce Guinta
quelle