无法在Mac的终端中高效使用Screen

问题描述 投票:0回答:7

这篇文章总结了当您的 .zshrc 中有以下内容时在 Mac 终端中使用 Screen 的问题

if [[ $STY = '' ]] then screen -xR; fi 
  1. 解决方案#1 不起作用,但解决方案#2 起作用: 剪贴板程序:pbcopy、pbpaste 和 xsel 根本不起作用
  2. 在 Mac 上使用 Vim 时出现的错误: 无法通过 .Xresources 在屏幕上没有分散的窗口。
  3. 已解决 Ctrl A 在终端中停止工作。这表明屏幕的键盘绑定需要稍微改变。
  4. 已解决触摸板滚动不起作用。通过编辑 .screenrc,回滚可以正常工作(包括触摸板)
  5. 已解决:无法为屏幕提供 Dvorak 键绑定以在 Scrollback mod 中移动。
  6. 如何在Screen中使用pbcopy/pbpaste/xsel?
macos terminal gnu-screen
7个回答
36
投票

.screenrc

# Make xterm scrolling work properly with screen.
termcapinfo xterm-256color|xterm-color|xterm|xterms|xs|rxvt ti@:te@

也适用于 Terminal.app。


7
投票

我通常通过将转义字符设置为 ctrl-z 来解决 ctrl-a 问题(在运行屏幕时通常不需要经常使用它,因为不是将转义字符置于背景中)过程中,您可以启动一个新屏幕)。在我的

.screenrc
中:

escape ^Zz

使用触摸板滚动是行不通的; screen 充当终端仿真器内的终端仿真器,并且每当您在屏幕之间切换时,screen 都不可能切换 Terminal.app 中的回滚缓冲区。您将必须使用屏幕的回滚功能。请参阅本文,了解有关使用屏幕回滚功能的一些提示。


1
投票

默认的 OS X 终端应用程序很弱。 改为使用 iTerm:

iTerm

如果我没记错的话,iTerm 开箱即用地解决了所有这些问题(我的安装已经有几年了,所以我现在无法测试该理论)。


1
投票

如果启用备用屏幕缓冲区,问题 #3 可能可以解决。在

altscreen on
 中使用 
.screenrc


1
投票

解决方案#1 不起作用

为了能够在 OSX 中复制/粘贴,请将以下内容放入您的 .screenrc

bind b eval "writebuf" "exec sh -c 'pbcopy < /tmp/screen-exchange'"

> Th[e] 行 - - 将该文件发送到 pbcopy - -.

该命令绑定到 C-a b(在我的例子中,C-z b)。

解决方案#2 有效,但输入速度相当慢

使用回滚模式,即复制模式

应对

C-A [

粘贴

C-A ]

该解决方案很棒,因为它在所有终端应用程序中都是相同的。它类似于您使用鼠标时的剪贴板。


0
投票

Q5:不可能:滚动 触摸板不起作用。

您可以使用 ^A Esc 向上滚动屏幕。您无法在屏幕中使用触摸板。


0
投票

这解决了回滚问题,尽管它有些问题,因为它不知道屏幕的缓冲区。

env TERM=vt100 screen

© www.soinside.com 2019 - 2024. All rights reserved.