Utwórz globalny skrót, aby uruchomić aplikacje wiersza polecenia

31

Jakie kroki należy wykonać, aby uruchomić program wiersza polecenia za pomocą skrótu globalnego?

Skonfigurowałem Automator, aby utworzyć nowy skrypt Run Shell i próbowałem przypisać skrót w Preferencjach systemowych -> Klawiatura -> Skróty klawiaturowe, ale nic się nie stało.

Adam Flott
źródło
1
Moje pytanie jest inne. Nie chcę w ogóle otwierać okna terminala.
bufor-z
1
Jeśli nie chcesz, aby okno terminalu w ogóle się otwierało, pytasz to samo co połączony post.
Daniel

Odpowiedzi:

8

Jabłko to:

do shell script "ls ~/Desktop"

Dodaj tam, co chcesz, a następnie możesz uruchomić Applescript za pomocą globalnej aplikacji skrótu. Polecam Spark

Aha, i nie wiem o przypisywaniu skrótu w Preferencjach systemowych

daviesgeek
źródło
Bingo Dziwne, ta funkcja nie jest jeszcze wbudowana w OSX. Dzięki wielkie!
Adam Flott,
@Adam Tak, to trochę dziwne.
daviesgeek
8
Poza tym, że jest wbudowany w OS X za pośrednictwem Automator Services @AdamFlott, po prostu zaakceptowana odpowiedź nie korzysta z tej metody.
Daniel
2
AppleScript i Automator są również częścią OS X.
Daniel
1
-1 za korzystanie z usług stron trzecich bez uzasadnienia.
cregox
32

Nie znając szczegółów tego, czego szukasz, sugeruję utworzenie nowej usługi za pośrednictwem Automatora . Usługi mogą być powiązane z wyzwalaczami klawiszy i mogą wykonywać skrypty powłoki (między innymi). wprowadź opis zdjęcia tutaj

Aby skonfigurować skrót klawiaturowy, przejdź do Preferencji systemowych -> Klawiatura -> Skróty -> Usługi, wybierz właśnie zapisaną usługę, a następnie kliknij przycisk „Dodaj skrót”.

Daniel
źródło
Po zapisaniu usługi nie jest dla mnie jasne, jak skonfigurowałeś skrót klawiaturowy.
Liron Yahdav
@LironYahdav Patrz wyżej edycja
Daniel
12

FastScripts zawiera wszystkie skrypty w ~ / Library / Scripts /, więc nie musisz ręcznie dodawać plików. Obsługuje również skrypty specyficzne dla aplikacji.

Inne aplikacje, których można używać do przypisywania skrótów do uruchamiania skryptów:

Możesz także utworzyć usługę Automator:

  1. Otwórz Automator i wybierz szablon usługi
  2. Dodaj działanie Uruchom skrypt powłoki lub Uruchom AppleScript
  3. Sprawdź, czy typ danych wejściowych i zakres zastosowania są prawidłowe
  4. Wklej skrypt i zapisz usługę
  5. Przypisz skrót w panelu preferencji Klawiatura

W wersjach 10.7 i 10.8 występuje błąd, w którym skróty do usług nie zawsze działają, dopóki menu usług nie zostanie wyświetlone z paska menu. Skróty do usług nie działają, gdy aplikacja znajdująca się z przodu nie ma paska menu ani menu usług. Istnieje również krótkie opóźnienie przed uruchomieniem usług.

Lri
źródło
plus jeden za wzmiankę o innych aplikacjach, które również to robią. Prawie poszedłem zainstalować Spark, kiedy już używałem QuickSilver. Nie wiedziałem, że ma taką opcję.
Marlon,
również sekcja w panelu „Preferencje klawiatury”, aby dodać skrót, będzie znajdować się w sekcji „Usługi”, jeśli używasz podejścia Automator.
Brad Parks
7

Wypróbowałem wszystkie te opcje, ale są one zbyt złożone i zawodne lub naprawdę drogie. Skończyło się na tym, że napisałem własne rozwiązanie (open source i bezpłatne).

iCanHazShortcut

W tej chwili niewiele może zrobić, ale to dopiero początek. Zapraszamy do współpracy, dodając prośby o funkcje i sugestie.

deseven
źródło
1
Od kilku godzin próbuję znaleźć łatwe rozwiązanie tego problemu, a Twoja aplikacja jest jedyną, która działa i robi to, co powinna, bez skomplikowanych dzwonków i gwizdków. Dzięki!
Stijn Martens
@StijnMartens nie ma za co! Taki jest cały ten pomysł - jeśli potrzebujesz tylko skrótu do polecenia, otrzymasz skrót do polecenia. Nic dodać nic ująć.
deseven
To działało pięknie.
Brian Schermerhorn
2

Quicksilver może być używany do wiązania skrótów klawiszowych z akcjami.

Jeśli często coś robisz, możesz jeszcze bardziej przyspieszyć zadanie, przypisując mu „wyzwalacz”. Wyzwalacze można aktywować za pomocą skrótów klawiaturowych lub ruchów myszy

Jeśli jest to polecenie uniksowe lub skrypt powłoki, który chcesz wykonać, ten post Stackoverflow zawiera więcej informacji na temat korzystania z „modułu terminala” Quicksilver.

binarybob
źródło
1

Dodam tutaj swoją odpowiedź za pomocą BTT , ponieważ jest to łatwe i może być powiązane bezpośrednio ze skryptem wiersza poleceń:

  1. Wybierz Klawiatura z BTT

Wybierz Klawiatura z BTT

  1. Wprowadź swój skrót (lub sekwencję klawiszy!)

Wprowadź swój skrót (lub sekwencję klawiszy!)

  1. Wybierz „Trigger Predefined Action” i wpisz „shell”, aby znaleźć akcję.

Wybierz „Trigger Predefined Action” i wpisz „shell”, aby znaleźć akcję.

  1. Możesz wkleić skrypt i powłokę, w której chcesz uruchomić:

Możesz wkleić skrypt i powłokę, w której chcesz uruchomić:

Kliknij zapisz i gotowe! Teraz przetestuj skrypt ze skonfigurowanym spustem klawiatury.

  1. DODATEK: Możesz dodać notatki, aby zapamiętać, do czego służy skrót ...

Możesz dodać notatki, aby pamiętać, do czego służy skrót ...

cody.codes
źródło
Dziękuję, skończyło się na tym, że mam BTT.
Leo Ufimcew
0

Wygląda na to, że był dostępny w wersji 10.6 (patrz http://hints.macworld.com/article.php?story=20090903085255430 ), ale coś się zepsuło w wersji 10.7.2 (i prawdopodobnie wcześniejszej wersji 10.7)

Przekonałem się jednak, że skrót klawiszowy Usług jest honorowany, gdy Preferencje systemowe są na pierwszym planie, ale nie w żadnej innej aplikacji, w tym Finderze.

Jednak wcześniejsza sugestia używania Spark działała idealnie w lwie, z tym wyjątkiem, że nie mogłem użyć Ctrl w moim skrócie klawiaturowym. (nie showstopper!)

adamrmcd
źródło
tylko wtedy, gdy aktywne jest menu aplikacji. Po kliknięciu pulpitu i wypróbowaniu skrótu nie działa. kliknij menu Findera, a następnie spróbuj i działa. Mam usługę terminalu, która ma skrót i wyświetla się we wszystkich aplikacjach ... ale to nie działa, jeśli nie jestem w aplikacji, a nawet wtedy menu musi się skupić.
Marlon,
@ Lri nawet po wylogowaniu i ponownym zalogowaniu uruchomiło ponownie komputer itp. Nadal nie działa, chyba że zrobię to tak, jak opisano powyżej. Ustawienie w Quicksilver działa jednak. Chciałbym wiedzieć, w jaki sposób QuickSilver może przechwytywać te „globalne” skróty, a nie system operacyjny.
Marlon,