2010-02-02 6 views
12

Auf meinem neuen Ubuntu-System starte ich eine Bildschirmsitzung und bearbeite eine Datei in vim oder sehe sie in weniger an. Nachdem ich beendet habe, wird der Bildschirm nicht neu zeichnen, sondern scrollt einfach nach oben, um eine Befehlszeile unter allen Sachen zu zeigen, die ich gerade in vim oder weniger angesehen habe.Wenn Sie vim oder weniger im GNU-Bildschirm verwenden, hinterlässt das Beenden von vim oder weniger einen bleibenden Eindruck

Wie kann ich das ändern, damit das Beenden von vim mich auf den Bildschirm zurückbringt, so wie es war, bevor ich vim aufgerufen habe?

+2

ich irgendwie wie um diesen Ausgang. So oft habe ich etwas in vim geöffnet, um es schnell zu überprüfen, es zu schließen und mich dann zu fragen, was ich gerade gesehen habe. Mit dem GNU-Bildschirm gehe ich einfach in den Kopiermodus 'C-a [', 'j' /' k', um zu navigieren und ihn zu finden. –

Antwort

26

Bildschirm altscreen (alternativer Bildschirm) Funktion ist standardmäßig deaktiviert.

Fügen Sie diese auf Ihre .screenrc:

altscreen on 

See: http://www.gnu.org/software/screen/manual/screen.html#Redisplay

+0

danke das hat funktioniert – dan

+0

Ich habe dies zu .screenrc aber keinen Effekt hinzugefügt. Gibt es einen Daemon, der zuerst neu gestartet werden muss? –

3

Dies wird durch Ihren Termcap verursacht, da der Bildschirm unvollständig ist. (Dies scheint ein wirklich häufiges Problem zu sein.) Vim kennt die Reihenfolge nicht, in der der Bildschirm wiederhergestellt wird, also bleibt es so, wie es war.

Sie können dieses Problem umgehen, indem Sie die Laufzeitoption von vim (oder die Umgebungsvariable TERM, bevor Sie vim starten) auf ein Terminal setzen, das wie xterm "bildschirmkompatibel" ist. zB:

TERM=xterm vim 

oder (in vim):

:set term=xterm 

können Sie die t_ti und t_te Optionen in vim auf die richtigen Codes gesetzt. Weitere Details finden Sie unter :help xterm-screens in vim.

Verwandte Themen