170 votes

Existe-t-il un moyen de rendre un lien cliquable dans le terminal OSX ?

Je prévois de développer un formateur Mxmlc vers Textmate, qui formatera les erreurs mxmlc sous forme de liens cliquables, afin que vous puissiez les ouvrir rapidement dans Textmate, puisque Textmate a un schéma d'url, par exemple : txmt://open/?url=file://~/.bash_profile&line=11&column=2.

Je me demande s'il est possible d'afficher des liens dans votre terminal OSX, qui soient également cliquables, par exemple en modifiant la variable PS1 ou autre.

ps. Je ne veux pas utiliser le HTML qui fonctionne dans l'environnement Textmate.

380voto

oops Points 1473

Avant OSX Lion :

cmd + shift + double-click sur une URL dans Terminal.app et elle s'ouvrira dans le programme par défaut.

OSX Lion :

cmd + double-click (sinon vous passerez en mode plein écran).

2 votes

Dommage qu'il n'y ait pas de moyen de faire cela, par exemple, pour ouvrir les liens du système de fichiers dans le finder.

1 votes

Note : C'était + double-clic sur 10.4, changé en + + double-clic dans 10.5, puis de nouveau dans (je pense) 10.6. Source : J'ai signalé un bogue sur la 10.5 lorsqu'elle a été publiée, indiquant que + double-clic ne fonctionnait plus, et j'ai reçu la réponse "C'est maintenant cmd-shift".

2 votes

Vous pouvez en fait juste faire cmd + click

31voto

Paul R Points 104036

Vous pouvez faire un clic droit sur une URL dans le terminal et la première option du menu contextuel est "Ouvrir l'URL". Ce n'est pas parfait, mais c'est peut-être suffisant ?

1 votes

Non, comme il doit servir mon cycle de développement, ce ne sera pas assez rapide. La meilleure solution serait de n'afficher qu'un texte, avec un lien derrière qui n'est pas affiché, mais en l'état de mes connaissances de bash/sh, je pense que ce n'est pas possible, j'espère que vous me prouverez que j'ai tort ;-).

1 votes

J'avais toujours commencé par sélectionner l'URL (en faisant glisser le curseur du début à la fin de l'URL), puis par un clic droit. J'ai appris aujourd'hui, en lisant ces réponses, qu'il n'était pas nécessaire de sélectionner l'URL ; il suffit de faire un clic droit dessus. C'était beaucoup plus rapide, mais la réponse de @oops l'est encore plus.

1 votes

Génial. Suis-je la dernière personne au monde à apprendre ce tour de main ?

1voto

Jason Johnston Points 21

D'autres ont expliqué comment vous pouvez sélectionner et cliquer avec la touche Commande sur un texte qui est une URI valide. Pour ce qui est de la commande-clic sur un hyperlien intégré, comme une ancre dans un hypertexte (c'est-à-dire lorsque le texte affiché n'est pas l'URI lui-même), je crois que la réponse courte est la suivante : Terminal ne peut pas le faire, mais iTerm2 le peut.

Bash (ou tout autre programme qui imprime sur un tty) peut sortir la séquence d'échappement appropriée pour créer un lien hypertexte cliquable : c'est \x1B]8;;URI\x1B\\TEXT\x1B]8;;\x1B\\ , donde \x1B représente le caractère d'échappement, \\ représente une barre oblique inversée littérale, URI est l'URI vers lequel vous voulez établir un lien (commençant par https:// , file:/// ou autre), et TEXTE est le texte que vous souhaitez voir apparaître, pour que l'utilisateur puisse cliquer sur la commande. (Vous pouvez également utiliser \a le caractère d'alerte ou de cloche, au lieu des deux instances de \x1B\\ mais je comprends que c'est moins standard). Par exemple :

Ver \x1B ]8;;fichier:///path/to/help/file \x1B\\the fichier d'aide \x1B ]8; ; \x1B\\ pour les détails.

Sous Mac OS(X), sous El Capitan dans mon cas, cela fonctionne parfaitement avec iTerm2, et montre :

Ver le fichier d'aide pour les détails.

sauf que le texte lié le fichier d'aide a un soulignement en pointillé au lieu d'être en italique. Un clic de commande n'importe où sur le texte lié ouvre l'URI spécifié dans le navigateur par défaut. (Incidemment, c'est également le comportement du programme Terminal dans Ubuntu Linux).

Dans le terminal Mac OS(X), vous obtenez simplement :

Consultez le fichier d'aide pour plus de détails.

sans typographie particulière et sans possibilité de cliquer sur une partie du texte.

Vous pouvez obtenir tous les détails, y compris une liste des terminaux de soutien, à l'adresse suivante https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda .

-6voto

Dennis Williamson Points 105818

Dirigez votre sortie vers lynx :

your_command | lynx -use_mouse -stdin

0 votes

J'ai essayé ceci : echo "<a href=\ test.com \'>Test</a>" | lynx -use_mouse - stdin Cela ouvre lynx, ce n'est pas ce que je veux, je veux la sortie directement dans mon terminal.

0 votes

Bash ne le fera pas. Je ne vois pas pourquoi PS1 aurait quelque chose à voir avec ça. Je ne crois pas que Bash ait le moindre support pour la souris. Si Terminal.app ne le fait qu'avec un clic droit, alors votre seule autre option est peut-être d'écrire un AppleScript qui fournira cette fonctionnalité plus directement. Ou de la magie.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X