Czy istnieje sposób, aby łącze było klikalne w terminalu OSX?

140

Planuję opracować program formatujący Mxmlc do Textmate, formatujący błędy mxmlc jako klikalne linki, dzięki czemu można je szybko otwierać w Textmate, ponieważ Textmate ma schemat adresu URL, np .: txmt: // open /? Url = file: // ~ / .bash_profile & line = 11 & column = 2.

Zastanawiam się, czy możliwe jest wyświetlenie linków w twoim terminalu OSX, które również są klikalne, np. Zmieniając zmienną PS1 lub tak dalej.

ps. Nie chcę używać HTML, który działa w środowisku Textmate.

japetheape
źródło

Odpowiedzi:

311

Przed OSX Lion:

cmd+ shift+ double-clickna adresie URL w Terminal.app i otworzy się w domyślnym programie.

OSX Lion:

cmd+ double-click(w przeciwnym razie przejdziesz do trybu pełnoekranowego).

ups
źródło
2
Szkoda, że ​​nie da się tego zrobić, powiedzmy, aby otworzyć linki do systemu plików w Finderze
Peter Ehrlich
1
Uwaga: to było ⌘ + dwukrotne kliknięcie w 10.4, zmienione na ⌘ + ⇧ + dwukrotne kliknięcie w 10.5, a następnie ponownie w (chyba) 10.6. Źródło: zgłosiłem błąd w 10.5, kiedy został wydany, że ⌘ + dwukrotne kliknięcie już nie działa, otrzymałem odpowiedź „To jest teraz cmd-shift”.
Drarok,
1
Możesz po prostu zrobić cmd+click
Steve
@ Ups Czy istnieje oficjalna dokumentacja firmy Apple na ten temat? Jak to wymyśliłeś?
trinth
Czy istnieje sposób, aby bash wydrukował go podświetlony? Wiem, że niektóre IDE z powłokami to robią, więc myślę, że powinno to być możliwe
karl
27

Możesz kliknąć prawym przyciskiem myszy adres URL w Terminalu, a pierwsza opcja w menu kontekstowym to „Otwórz URL”. Nie idealne, ale może wystarczająco dobre?

Paul R.
źródło
1
Nie, ponieważ musi służyć mojemu cyklowi rozwojowemu, to nie będzie wystarczająco szybkie. Najlepszym rozwiązaniem byłoby wyświetlenie tylko tekstu, z linkiem za nim, który nie jest wyświetlany, jednak jeśli chodzi o moją wiedzę o bash / sh, myślę, że nie jest to możliwe, mam nadzieję, że udowodnisz mi, że się mylę ;-).
japetheape
1
Zawsze najpierw wybierałem adres URL (przeciągając kursor od początku do końca adresu URL), a następnie klikając prawym przyciskiem myszy. Czytając te odpowiedzi dowiedziałem się dzisiaj, że wybór adresu URL nie jest konieczny; po prostu kliknięcie prawym przyciskiem myszy działa. To było znacznie szybsze, ale odpowiedź @ oops jest szybsza.
Jimothy
1
Niesamowite. Czy jestem ostatnią osobą na świecie, która nauczyła się tej zręcznej sztuczki?
AnthumChris
-5

Prześlij swoje wyjście do lynx:

your_command | lynx -use_mouse -stdin
Wstrzymano do odwołania.
źródło
Próbowałem: echo „<a href=\' test.com \'> Test </a>” | lynx -use_mouse - stdin To otwiera lynx, nie tego chcę, chcę, aby dane wyjściowe były bezpośrednio w moim terminalu.
japetheape
Bash tego nie zrobi. Nie wiem, dlaczego PS1 ma z tym coś wspólnego. Nie wierzę, że Bash ma jakiekolwiek wsparcie dla myszy. Jeśli Terminal.app robi to tylko za pomocą prawego kliknięcia, jedyną inną opcją może być napisanie AppleScript, który zapewni tę funkcjonalność bardziej bezpośrednio. Albo magia.
Wstrzymano do odwołania.