Czy istnieje skrót klawiaturowy (klawisz skrótu) do otwierania Terminala w systemie macOS?

125

Jednym z moich podstawowych narzędzi używanych do programowania jest mój Terminal. Dzięki temu mój proces programowania jest wydajniejszy, gdy mogę szybko otworzyć okno terminala.

W Ubuntu używałem ( window+ Alt+ T) do otwierania Terminala. Ale teraz w pracy programistycznej używam Macbooka.

Czasami używam Spotlight do wyszukiwania „Terminal” i naciskam Enter.

Chciałbym wiedzieć, czy mogę przypisać do tego skrót klawiaturowy.

Dzięki

Gopal Prasad
źródło
33
Głosuję za ponownym otwarciem tego pytania, ponieważ dotyczy ono „narzędzi używanych głównie do programowania”. Programiści używają terminala głównie do wykonywania zadań związanych z programowaniem.
Greg Kopff,
1
@JonKiparsky Pytanie dotyczy otwartego gdzieś terminalu i otwierania nowego okna, gdy aktywna jest inna aplikacja.
Quentin Pradet
4
Tylko dlatego, że uważam to za śmieszne ... Powtarzam to, co powiedział @GregKopff ... „chyba że bezpośrednio dotyczą one narzędzi używanych głównie do programowania” ... Gopal Prasad, OP, wyraźnie mówi: „Jedno z moich głównych narzędzi używanych do programowanie to mój terminal ”. Daj spokój ... rozwiązanie tego jest bardzo cenne.
mmr118
1
To jest bardzo ważne pytanie! Może być wiele osób pochodzących z Linuksa (korzystających z komputerów stacjonarnych, takich jak Unity, XFCE, Cinnamon, MATE itp.), Szukających takiej funkcjonalności. Pozytywne głosy potwierdzają zainteresowanie.
Socrates,
iTerm2 . Nie próbuję być żartobliwy, poważnie, po prostu używam iTerm2.
Benjamin R

Odpowiedzi:

127

Przetestowałem następującą procedurę w systemie macOS Mojave 10.14.6 (18G3020).

Uruchom Automator. Utwórz dokument typu „Quick Action”:

szablon szybkiego działania

(W starszych wersjach macOS użyj szablonu „Usługa”).

W nowym dokumencie Automatora dodaj akcję „Uruchom AppleScript”. (Możesz wpisać „run applecript” w polu wyszukiwania u góry listy akcji, aby go znaleźć). Oto skrypt AppleScript do wklejenia do akcji:

on run {input, parameters}
    tell application "Terminal"
        if it is running then
            do script ""
        end if
        activate
    end tell
end run

Ustaw wyskakujące okienko „Workflow odbiera” na „brak danych wejściowych”. Powinien ogólnie wyglądać tak:

przepływ pracy z applecriptem

Zapisz dokument pod nazwą „Nowy terminal”. Następnie przejdź do menu Automator (lub menu aplikacji w dowolnej uruchomionej aplikacji) i otwórz podmenu Usługi. Powinieneś teraz zobaczyć szybką akcję „Nowy terminal”:

Nowa pozycja menu usług terminalowych

Jeśli klikniesz pozycję menu „Nowy terminal”, pojawi się okno dialogowe:

okno dialogowe uprawnień

Kliknij OK, aby zezwolić na wykonanie akcji. Zobaczysz to okno dialogowe raz w każdej aplikacji, która jest na pierwszym planie, gdy używasz akcji. Innymi słowy, gdy po raz pierwszy użyjesz akcji, gdy Finder jest na pierwszym planie, zobaczysz okno dialogowe. Za pierwszym razem, gdy użyjesz akcji, gdy Safari jest na pierwszym planie, zobaczysz okno dialogowe. I tak dalej.

Po kliknięciu OK w oknie dialogowym Terminal powinien otworzyć nowe okno.

Aby przypisać skrót klawiaturowy do szybkiego działania , wybierz element „Preferencje usług…” z menu Usługi. (Lub uruchom Preferencje systemowe, wybierz panel Klawiatura, a następnie wybierz zakładkę Skróty, a następnie wybierz Usługi z listy po lewej stronie). Przewiń w dół listy po prawej stronie i znajdź nową usługę terminalową. Kliknij go i powinieneś zobaczyć przycisk „Dodaj skrót”:

dodaj przycisk skrótu

Kliknij przycisk i naciśnij preferowany skrót klawiaturowy. Następnie podrap się po głowie, ponieważ (kiedy próbowałem) przycisk Dodaj skrót pojawia się ponownie. Ale kliknij ponownie przycisk i powinieneś zobaczyć swój skrót:

zestaw skrótów klawiaturowych

Teraz w większości przypadków powinieneś być w stanie nacisnąć skrót klawiaturowy, aby uzyskać nowe okno terminala.

rob mayoff
źródło
9
Cóż, podoba mi się twoja odpowiedź, nawet jeśli niektórzy ludzie nie lubią tego pytania! :-)
Mark Setchell
3
Działa to świetnie dla mnie, z wyjątkiem sytuacji, gdy aplikacja Terminal nie została jeszcze uruchomiona. W takim przypadku otrzymuję dwa nowe okna terminala. Naprawiłem to zmieniając AppleScript na następujące kwestie: na metę {} parametrów wejściowych, powiedzieć aplikacji „Terminal”, jeśli jest uruchomiony następnie wykonaj skrypt „” End If run koniec wejście Activate koniec powrót tell
chrisdembia
3
@robmayoff Mam problem z zaimplementowaniem twojego skryptu. Działa dobrze, kiedy klikam przycisk odtwarzania w Automatorze, jednak kiedy klikam zadanie w obszarze Usługi, pojawia się błąd z informacją The action "Run AppleScript" encountered an error. Jakieś pomysły? Jestem na OSX 10.12.1, jeśli to ma znaczenie.
Axim
7
Miałem problem polegający na tym, że otworzyłoby się okno, gdyby Terminal nie miał okien, ale jeśli było już otwarte, po prostu wybierał to okno. Musiałem tylko usunąć ze skryptu słowo „powłoka”.
Holden Lewis
2
Mam problem z powielaniem systemu Windows z najnowszą aktualizacją tej odpowiedzi. Naprawiłem to za pomocą następującego scenariuszaon run {input, parameters} tell application "Terminal" if not (exists window 1) then reopen activate end tell end run
Jofsey,
9

Jako programiści chcemy najszybszego i najbardziej niezawodnego sposobu uporządkowania naszych narzędzi, abyśmy mogli rozpocząć hakowanie. Oto jak to działa w systemie MacOS 10.13.1 (High Sierra):

  • Opcja 1: przejdź do System Preferences | Keyboard | Shortcut | Services. W Files and Folderssekcji włącz New Terminal at Folder i / lub New Terminal Tab at Folderprzypisz do niej klawisz skrótu. Konfiguracja skrótu klawiaturowego

  • Opcja 2: Jeśli chcesz, aby klawisz skrótu działał w dowolnym miejscu, utwórz nową usługę za pomocą Automatora, a następnie przejdź do skrótu klawiaturowego, aby przypisać do niej klawisz skrótu. Znane ograniczenie: nie działa z pulpitu

wprowadź opis obrazu tutaj

Uwagi:

  • Jeśli skrót nie działa, może to powodować konflikt z innym przypisaniem klawisza (a system operacyjny nie ostrzegłby Cię), spróbuj czegoś innego, np. Jeśli ⇧⌥T nie działa, spróbuj ⇧⌘T.
  • Nie poprawiaj pisowni MacOS, to nie jest konieczne.
dnang
źródło
1
Opcja 2 zadziałała dla mnie, dzięki! Dziwne ograniczenie niedziałania z pulpitu. Odradzałbym również ⇧⌘T, ponieważ jest to powszechny skrót do „ponownego otwarcia ostatniej zamkniętej karty”
Charlie G
2

iTerm2 - alternatywa dla terminala - ma opcję użycia konfigurowalnego klawisza skrótu dla całego systemu do pokazania / ukrycia (początkowo ustawiony na Alt+ Space, domyślnie wyłączony)

Zwycięzca
źródło
Mówiąc o iTerm2. To jest to, co próbuję uruchomić, używając automatu, ale otrzymuję ten "script"błąd, kiedy określę tell application "iTerm2", jak otworzyłeś iTerm2?
blamb
1
@blamb Zwykle otwieram iTerm2 za pomocą tego skrótu (powinien być włączony w preferencjach iTerm2 -> klawisze -> Hotkey). Nigdy nie próbowałem automatu.
Victor,
Aby uzyskać więcej informacji na temat dostosowywania tego, zobacz tę odpowiedź: superuser.com/a/1259726
Benjamin R