Ich verbinde mich mitZ-Schaleauf einem Red Hat Enterprise Linux 6.2 Rechner überKitt. Wenn ich einen Vollbildprozess beende, z. B. Vim und weniger, beginnt die Shell-Eingabeaufforderung in der Unix-Shell mit der letzten Zeile des Bildschirms. Der obige Bildschirm zeigt noch den Kontext dieses Prozesses, sodass ich alles verloren habe, was die Shell angezeigt hat, bevor ich diesen Prozess geöffnet habe.
Dies passiert nicht auf meiner eigenen Ubuntu-Box, wo ich nach dem Beenden eines Prozesses zur Zeile unter dem zuletzt eingegebenen Befehl zurückkehre.
Welche Optionen kann ich ändern (vielleicht in zshrc
?), damit es sich wie meine Ubuntu-Box verhält?
Antwort1
Ich habe dieses Problem auch gesehen. Überprüfen Sie Ihre PuTTY-Einstellungen unter Terminal->Funktionen. Wenn „Umschalten auf alternativen Terminalbildschirm deaktivieren“ aktiviert ist, deaktivieren Sie es. (Alle meine Einstellungen auf dieser Seite sind deaktiviert.) Die Hilfe zu dieser Option sieht vielversprechend aus.
Andernfallsdiese SeiteIch habe beim Googeln einige Ideen gefunden. Vielleicht können Sie einige Terminfo-Sachen einstellen, damit es richtig funktioniert.
Antwort2
Nachdem ich genau dieses Problem vor langer Zeit behoben hatte, stieß ich auf ein ähnliches Problem, bei dem Vim dieses Problem nicht hatte, aber less
es hatte. Dies betraf alle Programme, die less
auch verwenden, wie man
. Die Ursache, so fand ich heraus, war die LESS
Umgebungsvariable, die Argumente auflistet, die automatisch übergeben werden, less
wenn sie aufgerufen wird. Die Option darin, LESS
die dies verursachte, war -X
:
-X
oder--no-init
Deaktiviert das Senden der Termcap-Initialisierungs- und Deinitialisierungszeichenfolgen an das Terminal. Dies ist manchmal wünschenswert, wenn die Deinitialisierungszeichenfolge etwas Unnötiges bewirkt, wie z. B. das Löschen des Bildschirms.
Ich habe auch gelernt vonUnix & Linux – „ less --quit-if-one-screen
ohne --no-init
“-X
dass, wenn Sie / deaktivieren , Sie auch / --no-init
deaktivieren müssen (sofern Sie es eingestellt haben).-F
--quit-if-one-screen
Um zu beheben less
, dass Ihr Bildschirm beim Beenden immer wiederhergestellt wird, ändern Sie den Wert von LESS
in der entsprechenden Shell-Initialisierungsdatei. Dies gilt .bashrc
für Bash, .zshenv
für Zsh und .config/fish/config.fish
für Fish. Fügen Sie dieser Datei den Befehl export LESS='<all the flags you want, without -X or -F>'
oder set -gx LESS <flags>
für Fish hinzu. Sie können vorher ausführen, um die vorhandenen Flags anzuzeigen, die in Ihre / -Anweisung echo $LESS
kopiert werden sollen .export
set
Antwort3
Ich habe es herausgefunden! Alles, was ich tun muss, ist einzustellen $TERM
. xterm
Früher war eslinux
export TERM=xterm
Danke für den Link und die Hinweise, David!