![如何更改 OS X 上的 readline 滚动行为?](https://linux22.com/image/1456654/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%20OS%20X%20%E4%B8%8A%E7%9A%84%20readline%20%E6%BB%9A%E5%8A%A8%E8%A1%8C%E4%B8%BA%EF%BC%9F.png)
我在 Mac OS X 终端中通过 SSH 连接到两个 ubuntu 服务器,然后连接到各种启用 readline 的 shell,例如 MySQL 或 Mongo 客户端。
最近,似乎滚动行为发生了某种变化。当我用鼠标滚动时,readline 本身会在命令之间滚动,而不是像我期望的那样向上翻页。
也就是说,我没有看到 SQL/mongo 结果列表顶部的结果,而是在命令行中向后滚动一个命令,这不是我想要做的。
据我所知,服务器(Ubuntu 14.04)和我的 Mac 都没有发生重大变化。
答案1
您所描述的听起来像这样:一些终端仿真器可以被告知假装滚轮鼠标事件是向上/向下箭头而不是页面滚动。虽然可能存在特殊的控制序列或配置设置(例如交替滚动使用 xterm 时,通常是通过终端描述中的全屏(或备用屏幕)切换来激活的。
虽然 Apple 没有提供 Terminal.app 转义序列的文档,但我看到了Yosemite 在终端中引入了逐行滚动功能暗示他们也做过这样的事。
如果是这种情况,那么您应该能够通过使用终端描述来解决问题,从和smcup
功能中省略 47 或 1049 个控件rmcup
(并且取决于您是否使用screen
,tmux
或者都不使用,关于如何执行此操作的建议会有所不同 - 有些建议很糟糕,特别是当它说只删除功能时)。