How can I turn off "scrolling the history" in iTerm2
With iTerm2 you can also hold Option while using the scroll wheel to force window scrolling, in case you do want the wheel to continue to work in vim.
You probably just need to get out of alternate console.
Try: tput rmcup
If you are trapped in the scrolling history mode, you can escape by running vi and exiting. You can also choose another program that uses the alternate screen and then exit.
Scrolling the history with the mouse wheel should in theory never happen. It happens in practice because sometimes the alternate screen mode is not correctly switched back. The accepted answer solves the problem by deactivating a feature that is useful, namely scrolling in vi, less, ... with the mouse wheel or trackpad. You can keep the option from the advanced preferences:
Scroll wheel sends arrow keys when in alternate screen mode
set to yes. You will sometimes be trapped in the scroll history mode. But if you know how to escape, it's not a problem.
A few terminals, including iTerm2, have a feature where they change the behavior of the wheel mouse when a full-screen program such as vi
, or screen
or tmux
is running. This happens when those programs use the alternate screen, to provide a useful function. Normally, when using the alternate screen in iTerm2, the wheel mouse acts like the scrollbar, scrolling the entire screen up/down. But when this feature is enabled, iTerm2 sends cursor up/down keys, making your command-history change.
As suggested in another comment, select the Preferences menu:
and in that, select the Advanced tab. Scroll down to the Mouse section,
and toggle the entry for
Scroll wheel sends arrow keys when in alternate screen mode
from Yes to No. You will have to restart iTerm2 for the change to take effect. (With iTerm2 v3.1.5 changes take effect without restarting.)