如何让鼠标滚动在 iTerm2 中像在终端中一样工作?

如何让鼠标滚动在 iTerm2 中像在终端中一样工作?

在 macOS Ventura 上,在 MacBook Air 上,使用新的用户帐户和默认设置,在 Terminal.app 中,我可以运行man less,然后使用触控板滚动向下手册页——相当于点击j或向下箭头。

在 iTerm.app (3.4.18) 中,man less显示手册页,但会话 -> 终端状态菜单中未选中“鼠标报告”,因此使用触控板向下滚动页面没有任何作用,向上滚动页面会进入终端回滚。运行man less | less --mouse会激活鼠标报告,我得到了所需的行为(在 Terminal.app 中发生的情况)。

我相信 Terminal.app 可能正在做一些神奇的事情来激活鼠标捕获,而less无需额外的显式选项。这是如何工作的(即两个 shell 实例之间有什么不同),我如何才能从 iTerm.app 获得相同的行为?

一个解决方案是添加export LESS='--mouse'到我的.zshrc,但这并不能回答我为什么在Terminal.app中不需要它的问题。

答案1

导航设置 > 高级然后更改选项在交替屏幕模式下,滚轮会发送箭头键是的。这对我来说解决了这个问题。

iTerm2 设置中的“交替屏幕模式下滚轮发送箭头键”的屏幕截图,具体设置以红色圈出

正如所提到的这个答案当您使用man(或者只是普通的less)时,less将在另一个屏幕中打开。由于less默认情况下不启用鼠标支持,因此此设置通过将滚动转换为按键盘上的向上和向下箭头来解决此问题。

来源:https://apple.stackexchange.com/questions/440527/scrolling-issue-in-vim-after-switch-to-iterm2

相关内容