Как отключить "прокрутку истории" в iTerm2

Я установил новый iTerm 2. Он спросил меня в желтом баре наверху, если я хочу включить функцию мыши. К сожалению, я больше не помню точного предложения.

Случайно я одобрил. Теперь, когда я использую колесо прокрутки мыши в iTerm, он больше не прокручивает вверх, но вместо этого он запускает историю команд. Как если бы я нажимал курсор вверх.

Я не смог найти правильные настройки, чтобы снова отключить это. Кто-нибудь знает, где я могу переключить этот параметр?

спасибо для помощи!

Ответ 1

Некоторые терминалы, в том числе iTerm2, имеют функцию, которая изменяет поведение мыши с колесиком, когда запущена полноэкранная программа, такая как vi, screen или tmux. Это происходит, когда эти программы используют альтернативный экран, чтобы обеспечить полезную функцию. Обычно при использовании альтернативного экрана в iTerm2 мышь с колесиком действует как полоса прокрутки, прокручивая весь экран вверх/вниз. Но когда эта функция включена, iTerm2 отправляет курсорные клавиши вверх/вниз, внося изменения в историю команд.

Как предлагается в другом комментарии, выберите меню "Настройки":

enter image description here

и в этом, выберите вкладку Advanced. Прокрутите вниз до раздела Мышь,

enter image description here

и переключить запись для

Колесо прокрутки посылает клавиши со стрелками в режиме альтернативного экрана

от да к нет. Вам нужно будет перезапустить iTerm2, чтобы изменения вступили в силу. (С iTerm2 v3.1.5 изменения вступают в силу без перезапуска.)

Ответ 2

Если вы находитесь в ловушке в режиме истории прокрутки, вы можете убежать с помощью выполнения vi и выйти напрямую. Вы также можете выбрать другую программу, которая использует альтернативный экран и выйти напрямую.

Прокрутка истории с помощью колеса мыши в теории никогда не произойдет. Это происходит на практике, потому что иногда альтернативный режим экрана неправильно переключается назад. Принятый ответ решает проблему, дезактивируя полезную функцию, а именно прокрутку в vi, less,... с помощью колеса мыши или трекпада. Вы можете сохранить опцию из дополнительных настроек:

Колесо прокрутки отправляет стрелки в режиме альтернативного экрана

установлено значение yes. Иногда вы будете ловушкой в ​​режиме истории прокрутки. Но если вы знаете, как сбежать, это не проблема.

Ответ 3

Возможно, вам просто нужно выйти из альтернативной консоли.

Попробуйте: tput rmcup

Ответ 4

Предпочтения: Дополнительно: Мышь: колесо прокрутки отправляет клавиши со стрелками в альтернативном режиме

Ответ 5

С iTerm2 вы также можете удерживать Option, используя колесо прокрутки для принудительной прокрутки окна, если вы хотите, чтобы колесо продолжало работать в vim.

Ответ 6

У меня была такая же проблема, и ни одно из решений, которые я читал и не пробовал, работало. У меня была проблема с отключением Secure Keyboard Entry, и теперь, когда я использую мышь для ее прокрутки в ssh и в терминальном режиме на macOS 10.13, он работает так, как я ожидаю!

Ответ 7

Поведение, которое вы видите, является ожидаемым (и правильным) поведением на альтернативном экране. Единственная проблема, с которой вы столкнулись, это то, что вы попали в bash или что-то еще на альтернативном экране, возможно, при потере соединения или из-за убитого vim или менее. less +F/var/log/something вы были в less +F/var/log/something и были отключены.

Вы видите, что кто-то уже написал, что команда tput rmcup выйдет на главный экран.

Я также пошел дальше и посмотрел некоторые символы управления терминалом. Это может быть любой из: ESC [? 1 0 4 9 l ESC [? 1 0 4 9 l или ESC [? 1 0 4 7 l ESC [? 1 0 4 7 l или ESC [? 47 l ESC [? 47 l (gnu.org/software/screen/manual/html_node/Control-Septions.html) с предпочтением первого.

Я в целом успешен в iTerm2 с echo -e '\e[?1049l' На самом деле мне не легче запомнить rmcup, восстановить память консоли вверх?.