我已经安装了新的 iTerm 2。 它在顶部的黄色栏中询问我是否要启用鼠标功能。不幸的是,我已经不记得确切的句子了。
我偶然同意了。现在,当我在 iTerm 中使用鼠标滚轮时,它不再向上滚动,而是触发命令历史记录,就像我按下了向上光标一样。
我可以在哪里切换此选项以再次将其关闭?
包括 iTerm2 在内的一些终端具有一项功能,可以在全屏程序(例如
vi
、screen
或 tmux
)运行时更改滚轮鼠标的行为。当这些程序使用“备用屏幕”来提供有用的功能时,就会发生这种情况。通常,在 iTerm2 中使用备用屏幕时,鼠标滚轮的作用类似于滚动条,向上/向下滚动整个屏幕。但是,当启用此功能时,iTerm2 会发送光标向上/向下键,使您的命令历史记录发生变化。
按照另一条评论中的建议,选择首选项菜单:
高级选项卡。向下滚动到鼠标部分,
的条目 在备用屏幕模式下滚轮发送箭头键从
是到否。您必须重新启动 iTerm2 才能使更改生效。 (使用 iTerm2 v3.1.5 更改无需重新启动即可生效。)
您也可以选择另一个使用备用屏幕的程序,然后退出。 用鼠标滚轮滚动历史记录理论上永远不会发生。在实践中会发生这种情况,因为有时备用屏幕模式无法正确切换回来。接受的答案通过停用有用的功能来解决问题,即使用鼠标滚轮或触控板在 vi、less 中滚动。您可以保留高级首选项中的选项:
在备用屏幕模式下滚轮发送箭头键
设置为是。有时您会陷入滚动历史模式。但如果你知道如何逃脱,那就不是问题了。
尝试:
tput rmcup
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),优先选择第一个。我在 iTerm2 中通常是成功的,
echo -e '\e[?1049l'
我实际上没有发现
rmcup
更容易记住,恢复控制台的内存?.
CMD + R
让您摆脱
Alternate mode