2011-10-12 38 views
3

這是我的問題 - 希望我可以解釋得很好:如何在使用emacs -nw和gnu屏幕時保留我的膩子回滾緩衝區?

我在Windows上使用Putty,然後啓動一個gnu屏幕會話。我可以在putty中運行幾個shell命令,然後在同一個屏幕上運行emacs -nw。問題是當我退出emacs時,回滾緩衝區(在putty中)被搞亂了。當我開始使用emacs的時候,屏幕上的內容已經消失了,如果向上滾動,我會看到各種屏幕文物(例如底部的屏幕「欄」等)。

如果我不使用screen並直接從putty打開emacs -nw,那麼當我退出emacs時,我的所有歷史記錄仍然存在於緩衝區中。

同樣,如果我使用屏幕,並在屏幕中使用vi代替emacs,當我退出vi時,一切都在那裏。

這只是與膩子和emacs的一些奇怪的互動?有沒有辦法解決它?

+0

'屏幕',當然,有它自己的回滾功能。 Ctrl-a esc。 – tripleee

+0

是的 - 當我使用它時,所有的歷史都完全消失了。因此,如果我使用鼠標滾輪或右側的滾動條向上滾動,或者如果使用屏幕的回滾向上滾動(我可以永遠向上滾動並且一切都爲空白),我可以看到其中的一小部分。 – Jer

回答

0

這聽起來像Emacs和屏幕在您的終端的替代屏幕功能上踩彼此的腳趾。

我不能重現此問題,但也許把下面的你的〜/ .screenrc將有助於:

altscreen on 
+0

我已經得到了,不幸的是 - 但是,謝謝... – Jer

0

你有沒有考慮過使用tmux作爲替代GNU屏幕?

+0

我聽說過很好的事情,但一個,它沒有安裝在工作 - 我可以讓他們這樣做,但是我會當我對這個問題的屏幕很滿意時,學習一些全新的東西(最關心的是窗口切換的肌肉記憶,分裂窗口等)。 – Jer

+0

夠公平的。最低限度,您可以要求安裝tmux,以便您可以快速嘗試解決問題,如果不解決問題,您甚至不必考慮切換。 – Thomas

1

您是否嘗試將回滾緩衝區大小設置爲默認值? scrollback

在.screenrc,就把這行:

defscrollback 10000 

這裏是我的配置.screenrc。試圖重現此問題,但沒有運氣...你可以嘗試,如果它修復了你:

termcapinfo xterm* [email protected]:[email protected] 
startup_message off 
vbell off 
autodetach on 
altscreen on 
shelltitle "$ |bash" 
defscrollback 10000 
defutf8 on 
nonblock on 

hardstatus alwayslastline 
hardstatus string '%{= kw}[ %{= kb}%H%{= kw} ][%= %{= kw}%?%-Lw%?%{= kW}%n*%f %t%?%?%{= kw}%?%+Lw%?%?%= ][ %{r}%l%{w} ]%{w}[%{r} %d/%m/%y %C %A %{w}]%{w}' 

bind 'q' quit 

就在結束我也建議你逐漸熟悉TMUX - >http://tmux.sourceforge.net/

BTW。希望你使用最新版本的PuTTy吧? :) - >http://puttytray.goeswhere.com/