这是我的问题 - 希望我能很好地解释这一点:
我在 Windows 上使用 Putty,然后启动一个 gnu 屏幕 session 。我可能会在 putty 中运行几个 shell 命令,然后在同一个屏幕中运行 emacs -nw。问题是当我退出 emacs 时,回滚缓冲区(在腻子中)被搞砸了。当我启动 emacs 时屏幕上的内容消失了,如果我向上滚动,我会看到各种屏幕伪像(例如底部的屏幕“栏”等)。
如果我不使用 screen 并且直接从 putty 打开 emacs -nw,那么当我退出 emacs 时,我的所有历史记录仍然存在于缓冲区中。
同样,如果我确实使用屏幕,并在屏幕中使用 vi 而不是 emacs,当我退出 vi 时,一切都在那里。
这只是与 putty 和 emacs 的一些奇怪的交互吗?有没有办法解决它?
最佳答案
您是否尝试将回滚缓冲区大小设置为默认值以外的其他值? 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/
关于emacs - 使用 emacs -nw 和 gnu screen 时如何保留我的腻子回滚缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7741608/