ree*_*rix 1 ssh terminal tail osx-yosemite
我通过 ssh 连接到远程机器并运行tail -f. 每次我使用触控板向上/向下滚动时,都会产生一些奇怪的字符,例如
OB^[OB^[OB^[OB^[OB^[OOB^[OB^[OB^[OB^[OB^[O
以前从未发生过这种情况,它不会让我向上滚动以查看以前的日志。为什么会发生这种情况,我该如何禁用它?
Ken*_*ter 10
TL;DR:检查菜单设置视图->显示/隐藏备用屏幕。您可能处于“备用屏幕模式”。或者在滚动时尝试使用 SHIFT 键以获得其他滚动行为。
^[是 Control-leftbracket 的可打印表示,也就是转义字符。Infocmp显示这^[OB是向下箭头键的 xterm 转义序列(^[OA是向上箭头序列)。终端模拟 xterm 并将您的鼠标滚动转换为箭头键序列。
我发现了一些过去在终端中使用鼠标的讨论:
但它们都是关于以前版本的 OSX,随着时间的推移,终端似乎在这方面发生了变化。本文讨论了它在 Yosemite 中的工作原理,但在技术细节上有点欠缺。剩下的就是我在优胜美地玩终端时发现的。
终端有两种处理鼠标滚动的模式:
您可以通过在滚动时按住 SHIFT 来临时切换模式。例如,当终端显示命令提示符时,scroll 将滚动终端窗口,而 Shift-scroll 将滚动浏览 bash 命令历史记录。
终端还提供了一个称为备用屏幕的功能。全屏程序喜欢vim或less可以将终端切换到备用屏幕来显示自己的内容。当您退出此类程序时,终端会切换回主屏幕。我提到这一点是因为终端的滚动行为可以在备用屏幕上改变。
通常,第一个滚动行为是主要行为,您必须按 SHIFT 才能获得第二个行为。但是转到终端->首选项->配置文件->键盘。底部是一个标记为“滚动备用屏幕”的复选框。如果选中该框,则在备用屏幕上的滚动行为会反转。选中后,第二个滚动行为将成为备用屏幕的默认值,您必须按 SHIFT 才能获得第一个行为。
例如,在命令行中,滚动鼠标可以让您看到终端的回滚缓冲区。但是开始vim编辑一个文件,它切换到备用屏幕,突然滚动鼠标移动光标。这就是你在 vim 中想要的。
解决您的问题,听起来您的终端正在显示备用屏幕。有一个菜单选项可以切换(查看-> 显示/隐藏备用屏幕)。或者你正在运行的东西是将终端置于备用屏幕模式。也许你正在使用screen或tmux或类似的东西?作为一种解决方法,您可以尝试使用 SHIFT 键来获得所需的滚动行为。或者您可以取消选中该复选框。
| 归档时间: |
|
| 查看次数: |
3579 次 |
| 最近记录: |