Как отключить "прокрутку истории" в 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
, восстановить память консоли вверх?.