我安装了新的iTerm 2。 如果我想启用鼠标功能,它会在顶部的黄色栏中询问我。不幸的是,我不再记得确切的句子了。
我意外地批准了。现在,当我在iTerm中使用鼠标滚轮时,它不再向上滚动,而是触发命令历史记录。就像我按下向上光标一样。
我找不到合适的设置来重新关闭它。 有谁知道我可以在哪里切换这个选项?
帮助你!
答案 0 :(得分:378)
包括iTerm2在内的一些终端具有以下功能:当vi
或screen
或tmux
等全屏程序正在运行时,它们会改变滚轮鼠标的行为。当这些程序使用备用屏幕来提供有用的功能时会发生这种情况。通常,在iTerm2中使用备用屏幕时,滚轮鼠标的作用类似于滚动条,向上/向下滚动整个屏幕。但是当启用此功能时,iTerm2会发送光标向上/向下键,使命令历史记录发生变化。
如其他评论所示,请选择偏好设置菜单:
然后,选择高级标签。向下滚动到鼠标部分,
并切换
的条目滚轮在待机屏幕模式下发送箭头键
从是到否。您必须重新启动iTerm2才能使更改生效。 (使用iTerm2 v3.1.5 更改将在不重新启动的情况下生效。)
答案 1 :(得分:32)
如果您陷入滚动历史记录模式,则可以通过运行vi并直接退出来退出。您也可以选择使用备用屏幕并直接退出的其他程序。
使用鼠标滚轮滚动历史记录理论上从未发生过。它在实践中发生,因为有时候交替屏幕模式没有正确切换回来。接受的答案通过停用有用的功能来解决问题,即使用鼠标滚轮或触控板在vi,less,...中滚动。您可以保留高级首选项中的选项:
滚轮在待机屏幕模式下发送箭头键
设为是。您有时会陷入滚动历史记录模式。但如果你知道如何逃避,那就不是问题了。
答案 2 :(得分:24)
你可能只需要退出备用控制台。
尝试:tput rmcup
答案 3 :(得分:9)
首选项:高级:鼠标:滚动轮在交替模式下发送箭头键
答案 4 :(得分:2)
使用iTerm2,您还可以在使用滚轮强制窗口滚动时按住Option键,以防您确实希望滚轮在vim中继续工作。
答案 5 :(得分:1)
我遇到了同样的问题,我读过并尝试过的解决方案都没有。解决我的问题的原因是关闭安全键盘输入,现在当我使用鼠标在ssh和macOS 10.13上的终端模式下滚动它时它的工作方式就像我期望的那样!
答案 6 :(得分:1)
您看到的行为是在备用屏幕中的预期(和正确)行为。你遇到的唯一问题是你在备用屏幕上掉进了bash,或其他任何东西,可能是在丢失连接或者被杀死的vim或更少时。 EG您在less +F /var/log/something
并且已断开连接。
您发现有人已经写过tput rmcup
命令将退出到主屏幕。
我也继续查找一些终端控制字符。它可以是:ESC [ ? 1 0 4 9 l
或ESC [ ? 1 0 4 7 l
或ESC [ ? 47 l
(gnu.org/software/screen/manual/html_node/Control-Sequences.html),优先选择第一个。< / p>
我通常使用echo -e '\e[?1049l'
在iTerm2中取得成功我实际上没有找到rmcup
更容易记住,恢复控制台的内存?