如何让 Mac OS X Terminal.app 和屏幕/vim 滚动播放?

rus*_*ins 14 display terminal.app macos

OSX 10.6.3 Terminal.app

我是一个非常专注的屏幕用户。Terminal.app 行缓冲区和/或滚动似乎对我不起作用。也就是说,在屏幕中任何超过框架顶部的东西都消失了,无法回滚。这在其他终端应用程序 gnome、cygwin 中似乎可以正常工作。也许这是一个 shell 环境、配置或命令?

.screenrc:

startup_message off  
autodetach on  
shell -$SHELL  
vbell off  
defutf8 on  
caption always  
caption string "%{= wk}%w"  
Run Code Online (Sandbox Code Playgroud)

我曾尝试在此处使用 defscrollback 具有不同的值,但没有效果。

一些 .bashrc 设置:

set -o physical  
export TERM=xterm-color  
shopt -s checkwinsize  
Run Code Online (Sandbox Code Playgroud)

小智 16

在 Lion 中,默认的终端类型是不同的,所以你应该在你的代码中使用这一行.screenrc

termcapinfo xterm-256color|xterm-color|xterm|xterms|xs|rxvt ti@:te@


小智 15

在您的主目录中,将.screenrc以下文本放入文件中:

# Make xterm scrolling work properly with screen.
termcapinfo xterm-color|xterm|xterms|xs|rxvt ti@:te@
Run Code Online (Sandbox Code Playgroud)

也适用于 Terminal.app。

  • 我知道这在 Snow Leopard 中有效,但在 OS X Lion 中似乎无效。无赖 :( (2认同)

A B*_*A B 10

我认为它也应该有效,甚至更普遍:

termcapinfo xterm* ti@:te@
Run Code Online (Sandbox Code Playgroud)

这将更加普遍。这是合法的:

termcapinfo * ti@:te@
Run Code Online (Sandbox Code Playgroud)


Dou*_*ris 2

我不知道是否可以让终端的滚动缓冲区收集并与 gnu 屏幕的回滚一起使用。

我建议您阅读有关屏幕本身内的回滚的更多信息。您需要学习一些新的组合键——因为您已经在使用屏幕,我怀疑这会吓跑您。

在Google的帮助下,我找到了一篇名为“使用回滚缓冲区”的博客文章。

我真的没想到回滚会与 Terminal.app 的缓冲区集成。如果从一个虚拟屏幕切换到另一个虚拟屏幕,终端的缓冲区会发生什么?如果您与一台计算机断开连接并在三小时后重新连接,则您的终端缓冲区长时间不同步。

screen是我进入另一台服务器的小窗口。我喜欢屏幕的回滚缓冲区在会话中持续存在,这样我就可以从我连接的任何地方访问它。我喜欢会话中的每个屏幕都有自己的回滚缓冲区。

我认为您发现它可以在 gnome 和 cygwin 中工作,因为screen使用 xterm 的“备用屏幕”功能。此屏幕常见问题解答页面上的第一个问题对此有更多讨论。