Mac OS X Terminal: prise en charge de la souris?

75

Existe-t-il une option native (c.-à-d. Sans l'installation supplémentaire de soft / package / plugins) pour permettre la prise en charge de la souris dans l'application Terminal?

En fait, j'utilise beaucoup vimavec l'option set mouse=a(activation des fonctionnalités de la souris).

Mais il semble que Terminal ne supporte pas toutes les fonctionnalités de xterm.

Il semble (après quelques recherches sur Google) que Terminal ait déjà eu le support de la souris, mais je me demande où est-il allé.

NB: Je veux vraiment le support de la souris dans Terminal, pas seulement pour vim, alors s'il vous plaît, ne suggérez pas MacVim:]

avetis.kazarian
la source
Qu'est-ce que xterm prend en charge par ce terminal? Copier en surbrillance et coller moyen?
Ignacio Vazquez-Abrams Le
Le rapport de la souris. C'est le vrai support de la souris. La copie en surbrillance, la pâte moyenne, etc., ne sont pas vraiment liées à Terminal, à ma connaissance.
2
copier-sur-mettre en évidence et coller-moyen mangé Terminal lié - dans ce terminal ne les fait pas - vous pouvez essayer iTerm pour ceux-ci
user151019 Le
@ Mark: Je l'ai vérifié et l'ai aimé. Bien que Terminal gère beaucoup mieux les caractères gras. En tout cas, merci.
2
@Arjan: certaines applications CLI interactives prennent en charge la souris; par exemple, positionner le curseur de texte dans vim.
ELLIOTTCABLE

Réponses:

104

J'ai trouvé la réponse!

Un ami m'a dit le truc, c'est tellement facile que j'ai honte.

Appuyez simplement sur la touche alt et cliquez! (avec le support de souris préalablement activé dans vim)


UPDATE pour OSX 10.11 El Capita

S'il vous plaît voir la réponse de Chris Page .

avetis.kazarian
la source
11
Je suis un puissant utilisateur d'OS X depuis près d'un demi-siècle et je ne l'ai jamais su. Je suis extrêmement impressionné. J'aimerais pouvoir vous donner cent votes au lieu d'un.
ELLIOTTCABLE
4
Quoi qu'il en soit pour désactiver la nécessité d'utiliser alt?
philfreo
8
Ce n'est pas pareil, pour moi en tout cas. Souvent, je clique sur un caractère et le curseur finit quelque part, en quelque sorte près de lui. Cela ne fonctionne pas non plus pour changer d'onglet dans vim. Cela ne semble pas non plus fonctionner si bien pour changer de fenêtre dans tmux.
andyortlieb
1
@andyortlieb: c'est pourquoi j'ai migré vers iTerm2.
avetis.kazarian
2
pas de travail pour moi.
Mike Graf
23

À partir de OS X 10.11 El Capitan, Terminal prend en charge le reporting de la souris.

Notez que les programmes prenant en charge Mouse Reporting doivent l'activer via des séquences d'échappement et que la plupart des programmes prenant en charge Mouse Reporting doivent être configurés pour l'activer. Par exemple, dans Vim, vous devez exécuter set mouse=a(généralement dans votre ~/.vimrcfichier).

Terminal prend en charge le signalement de trois boutons de souris et d’une molette de défilement Pour simuler une pression sur un bouton-trois avec un appareil à deux boutons, vous pouvez utiliser Commande-clic-droit. (Commande tout en cliquant avec le bouton droit de la souris permet également Éditer> Coller la sélection lorsque le rapport de souris est désactivé. Le clic du milieu collera le texte sélectionné récemment, que vous utilisiez ou non le rapport de souris.)

Lorsque Mouse Reporting est activé, la Option ⌥touche de modification est associée à Meta pour le clic et le défilement, et n'est pas affectée par la préférence de clavier «Utiliser l'option comme touche Meta», qui s'applique uniquement à la saisie au clavier.

Pour contourner temporairement Mouse Reporting et interagir avec la vue du terminal, appuyez sur la Fntouche de modification tout en cliquant ou en faisant défiler. Il existe également un élément de menu Affichage> Autoriser le rapport de souris (⌘R) que vous pouvez utiliser pour ignorer le rapport de souris pendant de plus longues périodes, ou si la touche de modification n'est pas disponible.

Notez que, lorsqu'il est activé, Mouse Reporting remplace le comportement Option-Click existant du terminal (qui envoie une entrée par touche fléchée pour déplacer le curseur) et le comportement «Défilement d'écran alternatif». En outre, le nouvel élément de menu Autoriser le rapport de la souris et le Fnmodificateur s'appliquent également à «Écran de défilement alternatif» pour vous permettre de contourner temporairement ce comportement.

Chris Page
la source
"Autoriser le signalement de la souris" est la solution pour moi. iTerm2 avait cette fonctionnalité, mais je veux juste utiliser l'application Terminal intégrée pour sa légèreté.
Kay
@Kay: Je suis heureux que cela vous plaise, mais pour être clair, l'option de menu «Autoriser le rapport de la souris» n'active pas le rapport de la souris. Il s'agit simplement d'une commande vous permettant d'interagir temporairement avec la vue du terminal au lieu d'envoyer une entrée de la souris au programme distant lorsque le rapport de souris a été activé. Les programmes activent le rapport de souris en envoyant des séquences de contrôle au terminal.
Chris Page
12

Au lieu d'utiliser Alt-clic pour définir le curseur dans vi avec OS X Terminal, j'aimerais suggérer d'utiliser iTerm 2:

Je souhaitais utiliser la souris dans Terminal vi (Mac OS X 10.7 Lion), mais le défilement avec la molette de défilement n’est pas pris en charge. J'ai fini par passer de Terminal à iTerm 2, qui prend en charge le défilement de la molette de défilement vi, et vous n'avez pas besoin de maintenir la touche Alt enfoncée pour régler le curseur.

Si vous n'utilisez pas certaines des fonctionnalités les plus avancées de l'application Terminal de Lion , vous pouvez être assez satisfait d'iTerm 2.

Edit : pour activer la prise en charge de la souris dans Vim avec iTerm 2, ajoutez la ligne suivante à votre fichier .vimrc:

:set mouse=a
Steve HHH
la source
Comment pouvez-vous faire défiler vers le bas en utilisant la molette de la souris? Cela monte simplement dans le tampon d’écran, et vous pouvez l’obtenir dans Terminal.app en désactivant l’utilisation du tampon d’écran alternatif, par exemple dans vim using set t_ti= t_te=dans votre ~/.vimrc.
Daniel Beck
J'avais besoin de configurer :set mouse=amon fichier .vimrc - c'est le moyen habituel d'activer la prise en charge de la souris dans Vim, mais il semble que l'entrée de la souris est consommée par Terminal.app. Faire défiler un fichier texte avec la molette semble parfaitement fonctionner dans iTerm2.app, cependant.
Steve HHH
Sur MacOS Mojave (10.14), je n’ai aucun problème à utiliser la souris dans vim en utilisant le terminal OSX.
Gagarine
1

Il semble que sur OS X 10.4 (je ne suis pas sûr de disposer de 10.5), vous pouvez activer le support de la souris. Ouvrez le terminal, puis cliquez sur Paramètres de la fenêtre. Cliquez sur Emulation dans la liste déroulante, puis cochez l'option "Cliquez pour positionner le curseur".

Joe D
la source
1
En réalité, il n'y a rien de tel que "Paramètres de la fenêtre" dans les préférences de Terminal sur 10.5 ni sur 10.6. Tout ce que vous pouvez dans l'onglet "Fenêtre" est de changer la couleur de fond, la taille de défilement, le titre et la taille de la fenêtre.
1
Ce ne doit être que le 10.4 alors ...
1
Ce n'est pas exactement le support de la souris. Cela vous permettra de cliquer avec option sur une partie du terminal. Terminal.app calculera le nombre de caractères de ligne haut / bas / gauche / droite nécessaires pour déplacer le curseur à cet endroit, puis les taper. Très utile mais pas ce que le PO voulait, je ne pense pas.
Josh
1

Notez que Mac OS X a xterm en plus de Terminal.app. D'après votre question, je ne saurais dire si vous étiez au courant de cela. Mais si le paquet X11 est installé, vous pouvez lancer une fenêtre xterm et le support de la souris fonctionne parfaitement.

Josh
la source
0

MouseTerm semble être le plug-in SIMBL idéal pour ceux qui recherchent un support de souris décent dans leurs terminaux Mac OS X. Depuis mai 2013, la dernière version (1.0b1, publiée en juillet 2011) indique que les fonctionnalités suivantes sont ajoutées à l'application Terminal standard d'OS X:

  • Rapport du bouton de la souris.
  • Rapport de la molette de la souris.
  • Défilement simulé de la molette de la souris pour des programmes comme less (c’est-à-dire tout programme plein écran utilisant le mode de touche de curseur d’application).
  • Intégration du profil de terminal (avec dialogue de préférences).

J'utilise tmux et vim avec, et cela me permet non seulement de cliquer (sans la clé d'option!), Mais aussi de faire défiler et de glisser à l'intérieur avec peu de configuration: par exemple, :set mouse=apour vim, et tmux set-window-option mode-mouse on. Il est facile de basculer les rapports de la souris (avec une simple combinaison de touches ⇧⌘Mou à partir du menu Shell), il n'y a donc rien à perdre à ce qu'il soit installé.

(Attention: cliquer / déplacer en mode copie de tmux ne fonctionne pas comme prévu.)

netj
la source
Autre mise en garde: j'ai remarqué qu'après le premier démarrage de Terminal après la connexion, la prise en charge de la souris ne fonctionnait pas du tout jusqu'à ce que je quitte Terminal et que je le redémarre.
Michael
@ Michael: Votre symptôme semble familier à l'ancien numéro 13 de SIMBL . Mettre à jour SIMBL pourrait probablement résoudre ce problème. (0.9.9 ou 0.9.9b)
netj
essayé 0.9.9, n'a pas fonctionné. J'ai essayé le code AppleScript dans le commentaire n ° 23 et obtenu le message "Fin de ligne attendue, mais l'identifiant trouvé" (remplacé par "Leopard des neiges" par "Lion", mais je suis sous Lion ...)
Michael
également essayé 0.9.9b (corrigé pour Lion), et cela ne le répare pas non plus. devez toujours redémarrer Terminal avant d’accepter les événements de la souris.
Michael
0

Vous pouvez configurer l'émulation xterm dans les préférences avancées, au moins dans le Terminal 2.4 (OS X 10.9.3). Cela m'a permis de prendre en charge la souris.

Tom S
la source
Cela ne fonctionne pas (assurez-vous de tester avec vim et tmux).
avetis.kazarian