这是我的问题 - 希望我能够解释得这么好:
我在Windows上使用Putty,然后启动gnu屏幕会话。我可以在putty中运行几个shell命令,然后在同一个屏幕中运行emacs -nw。问题是当我退出emacs时,回滚缓冲区(在putty中)搞砸了。当我启动emacs时屏幕上的内容消失了,如果我向上滚动,我会看到屏幕的各种瑕疵(例如屏幕底部的“条形图”等)。
如果我不使用屏幕,只需直接从putty打开emacs -nw,当我退出emacs时,我的所有历史记录仍然在缓冲区中。
同样,如果我使用屏幕,并在屏幕内使用vi而不是emacs,当我退出vi时,一切都在那里。
这只是与putty和emacs的一些奇怪的互动吗?有办法解决吗?
答案 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屏幕?