web-dev-qa-db-fra.com

Comment désactiver le "défilement de l'historique" dans iTerm2

J'ai installé le nouveau iTerm 2. Il m'a demandé dans une barre jaune en haut si je souhaite activer une fonction de souris. Malheureusement, je ne me souviens plus de la phrase exacte.

Par accident j'ai approuvé. Maintenant, lorsque j'utilise la molette de la souris dans iTerm, elle ne fait plus défiler l'écran mais déclenche l'historique des commandes. Comme si j'appuyais sur le curseur haut.

Je ne pouvais pas trouver les bons réglages pour éteindre ça à nouveau. Est-ce que quelqu'un sait où je peux basculer cette option?

Merci d'avoir aidé!

231
Gambo

Certains terminaux, notamment iTerm2, ont une fonctionnalité dans laquelle ils modifient le comportement de la souris à molette lorsqu'un programme plein écran tel que vi, ou screen ou tmux est en cours d'exécution. Cela se produit lorsque ces programmes utilisent l'écran alternatif pour fournir une fonction utile. Normalement, lors de l'utilisation de l'écran alternatif dans iTerm2, la souris à molette se comporte comme une barre de défilement, en faisant défiler tout l'écran vers le haut ou le bas. Mais lorsque cette fonctionnalité est activée, iTerm2 envoie les touches de curseur haut/bas, modifiant ainsi l'historique des commandes.

Comme suggéré dans un autre commentaire, sélectionnez le menu Préférences :

enter image description here

et en cela, sélectionnez l'onglet Avancé . Faites défiler jusqu'à la section Souris ,

enter image description here

et basculer l'entrée pour

La molette de défilement envoie les touches de direction en mode d’affichage alternatif .

de Oui à Non . Vous devrez redémarrer iTerm2 pour que la modification soit prise en compte. (Avec iTerm2 v3.1.5 , les modifications prennent effet sans redémarrer.)

401
Thomas Dickey

Si vous êtes intercepté dans le mode d’historique défilant, vous pouvez vous échapper en exécutant vi et sortant directement. Vous pouvez également choisir un autre programme qui utilise l’écran secondaire et sortir directement.

Faire défiler l'historique avec la molette de la souris ne devrait en principe jamais se produire. Cela se produit en pratique, car parfois le mode d’écran de remplacement n’est pas correctement rétabli. La réponse acceptée résout le problème en désactivant une fonctionnalité utile, à savoir le défilement in vi, less, ... avec la molette de la souris ou le trackpad. Vous pouvez conserver l'option à partir des préférences avancées:

La molette de défilement envoie les touches fléchées en mode écran alterné

mis à oui. Vous serez parfois piégé dans le mode historique de défilement. Mais si vous savez vous échapper, ce n'est pas un problème.

37
Ortomala Lokni

Vous avez probablement juste besoin de sortir de la console alternative.

Essayez: tput rmcup

27
otrejni

Préférences: Avancé: Souris: La molette de défilement envoie les touches de direction en mode alterné

9
Idiot

Avec iTerm2, vous pouvez également maintenir Option en utilisant la molette de défilement pour forcer le défilement de la fenêtre, au cas où vous souhaiteriez que la molette continue de fonctionner dans vim.

3
Kyle Smith

Le comportement que vous observez est le comportement attendu (et correct) dans l'écran de remplacement. Le seul problème que vous avez est que vous êtes tombé sur bash, ou autre chose, sur un autre écran, éventuellement en perdant une connexion ou par un vim tué ou moins. Par exemple, vous étiez dans less +F /var/log/something et vous avez été déconnecté.

Vous voyez que quelqu'un a déjà écrit que la commande tput rmcup va sortir à l'écran principal.

Je suis aussi allé de l'avant et ai cherché des personnages de contrôle terminal. Il peut s'agir de: ESC [ ? 1 0 4 9 l ou ESC [ ? 1 0 4 7 l ou ESC [ ? 47 l (gnu.org/software/screen/manual/html_node/Control-Sequences.html) avec une préférence pour le premier.

Je réussis généralement dans iTerm2 avec echo -e '\e[?1049l'. En fait, je ne trouve pas rmcup plus facile à mémoriser, restaurez la mémoire de la console.

1
dlamblin

J'avais ce même problème et aucune des solutions que j'ai lues et essayées n'a fonctionné. Ce qui a réglé mon problème, c’était d’arrêter Secure Keyboard Entry et maintenant, lorsque j’utilise la souris pour le faire défiler en ssh et en mode terminal sur macOS 10.13, il fonctionne comme je l’attendais aussi!

1
Stan