使用emacs -nw和gnu屏幕时,如何保留我的putty回滚缓冲区?

时间:2011-10-12 14:24:37

标签: emacs putty gnu-screen

这是我的问题 - 希望我能够解释得这么好:

我在Windows上使用Putty,然后启动gnu屏幕会话。我可以在putty中运行几个shell命令,然后在同一个屏幕中运行emacs -nw。问题是当我退出emacs时,回滚缓冲区(在putty中)搞砸了。当我启动emacs时屏幕上的内容消失了,如果我向上滚动,我会看到屏幕的各种瑕疵(例如屏幕底部的“条形图”等)。

如果我不使用屏幕,只需直接从putty打开emacs -nw,当我退出emacs时,我的所有历史记录仍然在缓冲区中。

同样,如果我使用屏幕,并在屏幕内使用vi而不是emacs,当我退出vi时,一切都在那里。

这只是与putty和emacs的一些奇怪的互动吗?有办法解决吗?

3 个答案:

答案 0 :(得分:1)

您是否尝试将回滚缓冲区大小设置为默认值以外的其他值? scrollback

在.screenrc中输入以下行:

defscrollback 10000

这是我的配置.screenrc。试图重现这个问题,但没有运气......你可以试试它是否适合你:

termcapinfo xterm* ti@:te@
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/

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

答案 1 :(得分:0)

这听起来像Emacs和Screen在终端的备用屏幕功能上踩着对方的脚趾。

我无法重现这个问题,但是在〜/ .screenrc中添加以下内容会有所帮助:

altscreen on

答案 2 :(得分:0)

您是否考虑使用tmux替代GNU屏幕?