如何关闭iTerm2中的“滚动历史记录”

问题描述 投票:0回答:10

我已经安装了新的 iTerm 2。 它在顶部的黄色栏中询问我是否要启用鼠标功能。不幸的是,我已经不记得确切的句子了。

我偶然同意了。现在,当我在 iTerm 中使用鼠标滚轮时,它不再向上滚动,而是触发命令历史记录,就像我按下了向上光标一样。

我可以在哪里切换此选项以再次将其关闭?

terminal iterm2
10个回答
760
投票

包括 iTerm2 在内的一些终端具有一项功能,可以在全屏程序(例如

vi
screen
tmux
)运行时更改滚轮鼠标的行为。当这些程序使用“备用屏幕”来提供有用的功能时,就会发生这种情况。通常,在 iTerm2 中使用备用屏幕时,鼠标滚轮的作用类似于滚动条,向上/向下滚动整个屏幕。但是,当启用此功能时,iTerm2 会发送光标向上/向下键,使您的命令历史记录发生变化。 按照另一条评论中的建议,选择

首选项

菜单:

然后在其中选择

高级

选项卡。向下滚动到鼠标部分,

并切换

的条目

在备用屏幕模式下滚轮发送箭头键

。您必须重新启动 iTerm2 才能使更改生效。 (使用 iTerm2 v3.1.5 更改无需重新启动即可生效。)


112
投票
运行 vi 并退出来逃脱。

您也可以选择另一个使用备用屏幕的程序,然后退出。 用鼠标滚轮滚动历史记录理论上永远不会发生。在实践中会发生这种情况,因为有时备用屏幕模式无法正确切换回来。接受的答案通过停用有用的功能来解决问题,即使用鼠标滚轮或触控板在 vi、less 中滚动。您可以保留高级首选项中的选项:

在备用屏幕模式下滚轮发送箭头键

设置为是。有时您会陷入滚动历史模式。但如果你知道如何逃脱,那就不是问题了。


67
投票

尝试:

tput rmcup

    


24
投票


22
投票


5
投票
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
更容易记住,恢复控制台的内存?.
    


1
投票


1
投票

0
投票
CMD + R

让您摆脱

Alternate mode
    


-1
投票

在首选项 -> 配置文件 -> 终端中

取消选中

“保存行以在备用屏幕模式下滚动”和
  • “当应用程序状态栏出现时保存滚动行”
© www.soinside.com 2019 - 2024. All rights reserved.