Esiste una scorciatoia da tastiera (tasto di scelta rapida) per aprire il terminale in macOS?


125

Uno dei miei principali strumenti utilizzati per la programmazione è il mio terminale. Rende il mio processo di programmazione più efficiente quando riesco ad aprire rapidamente una finestra di Terminale.

In Ubuntu, stavo usando ( window+ Alt+ T) per aprire Terminal. Ma ora uso un Macbook nel mio lavoro di programmazione.

A volte utilizzo Spotlight per cercare "Terminale" e premo Invio.

Vorrei sapere se posso assegnare un tasto di scelta rapida da tastiera per farlo.

Grazie


33
Voto per riaprire questa domanda perché rientra negli "strumenti utilizzati principalmente per la programmazione". I programmatori utilizzano il terminale principalmente per eseguire attività relative alla programmazione.
Greg Kopff

1
@ JonKiparsky La domanda riguarda l'apertura del Terminale da qualche parte e l'apertura di una nuova finestra quando un'altra app ha il focus.
Quentin Pradet

4
Solo perché penso che sia ridicolo ... sto ribadendo ciò che ha affermato @GregKopff ... "a meno che non coinvolgano direttamente strumenti utilizzati principalmente per la programmazione" ... Gopal Prasad, l'OP, dice chiaramente "Uno dei miei strumenti principali utilizzati per la programmazione è il mio terminale. " Come andiamo .. una soluzione a questo è molto preziosa.
mmr118

1
Questa è una domanda perfettamente valida! Potrebbero esserci molte persone provenienti da Linux (che utilizzano desktop come Unity, XFCE, Cinnamon, MATE, ecc.) Alla ricerca di funzionalità come questa. I voti positivi dimostrano l'interesse.
Socrate

iTerm2 . Non sto cercando di essere scherzoso, seriamente, usa solo iTerm2.
Benjamin R

Risposte:


127

Ho testato la seguente procedura su macOS Mojave 10.14.6 (18G3020).

Avvia Automator. Crea un documento di tipo "Azione rapida":

modello di azione rapida

(Nelle versioni precedenti di macOS, utilizza il modello "Servizio".)

Nel nuovo documento Automator, aggiungi un'azione "Esegui AppleScript". (Puoi digitare "esegui AppleScript" nel campo di ricerca nella parte superiore dell'elenco delle azioni per trovarlo.) Ecco l'AppleScript da incollare nell'azione:

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

Impostare il popup "Il flusso di lavoro riceve" su "nessun input". Dovrebbe apparire come questo nel complesso:

flusso di lavoro con applecript

Salvare il documento con il nome "New Terminal". Quindi vai al menu Automator (o al menu dell'app in qualsiasi applicazione in esecuzione) e apri il sottomenu Servizi. Ora dovresti vedere l'azione rapida "Nuovo terminale":

Nuova voce di menu Servizio terminal

Se fai clic sulla voce di menu "Nuovo terminale", otterrai una finestra di dialogo:

finestra di dialogo delle autorizzazioni

Fare clic su OK per consentire l'esecuzione dell'azione. Vedrai questa finestra di dialogo una volta in ogni applicazione che è in primo piano quando usi l'azione. In altre parole, la prima volta che usi l'azione mentre il Finder è in primo piano, vedrai la finestra di dialogo. E la prima volta che usi l'azione mentre Safari è in primo piano, vedrai la finestra di dialogo. E così via.

Dopo aver fatto clic su OK nella finestra di dialogo, Terminal dovrebbe aprire una nuova finestra.

Per assegnare una scorciatoia da tastiera all'azione rapida , scegli la voce "Preferenze servizi ..." dal menu Servizi. (Oppure avvia Preferenze di Sistema, scegli il pannello Tastiera, quindi scegli la scheda Scorciatoie, quindi scegli Servizi dall'elenco a sinistra.) Scorri fino in fondo all'elenco a destra e trova il servizio Nuovo terminale. Fai clic e dovresti vedere un pulsante "Aggiungi collegamento":

aggiungi pulsante di scelta rapida

Fare clic sul pulsante e premere la scorciatoia da tastiera preferita. Quindi, grattati la testa, perché (quando l'ho provato) ricompare il pulsante Aggiungi scorciatoia. Ma fai di nuovo clic sul pulsante e dovresti vedere il tuo collegamento:

set di scorciatoie da tastiera

Ora dovresti essere in grado di premere la scorciatoia da tastiera nella maggior parte dei casi per ottenere una nuova finestra di terminale.


9
Beh, mi piace la tua risposta anche se ad alcune persone non piace la domanda! :-)
Mark Setchell

3
Funziona benissimo per me tranne quando l'app Terminal non è ancora avviata. In tal caso, ottengo due nuove finestre di Terminale. Ho risolto il problema modificando AppleScript come segue: su run {input, parameters} dì all'applicazione "Terminal" se è in esecuzione, quindi esegui script "" end if
activit

3
@robmayoff Ho dei problemi a implementare il tuo script. Funziona perfettamente quando faccio clic sul pulsante di riproduzione in Automator, tuttavia quando faccio clic sull'attività in Servizi, viene visualizzato un messaggio di errore The action "Run AppleScript" encountered an error. Qualche idea? Sono su OSX 10.12.1 se questo è importante.
Axim

7
Stavo riscontrando un problema in cui si apriva una finestra se Terminal non avesse finestre, ma se ce n'era una già aperta, selezionava semplicemente quella finestra. Tutto quello che dovevo fare era rimuovere la parola "shell" dallo script.
Holden Lewis,

2
Ho mai avuto problemi di duplicazione di Windows con l'ultimo aggiornamento di questa risposta. L'ho risolto con il seguente scripton run {input, parameters} tell application "Terminal" if not (exists window 1) then reopen activate end tell end run
Jofsey

9

Come programmatori, vogliamo il modo più rapido e sicuro per mettere in ordine i nostri strumenti in modo da poter iniziare ad hackerare. Ecco come l'ho fatto funzionare in MacOS 10.13.1 (High Sierra):

  • Opzione 1: vai a System Preferences | Keyboard | Shortcut | Services. Nella Files and Folderssezione, abilita New Terminal at Folder e / o New Terminal Tab at Folderassegnagli un tasto di scelta rapida. Configurazione scorciatoia da tastiera

  • Opzione 2: se desideri che il tasto di scelta rapida funzioni ovunque, crea un nuovo servizio utilizzando Automator, quindi vai a Scelta rapida da tastiera per assegnargli un tasto di scelta rapida. Limitazione nota: non funziona dal desktop

inserisci qui la descrizione dell'immagine

Appunti:

  • Se la scorciatoia non funziona, potrebbe essere in conflitto con un'altra combinazione di tasti (e il sistema operativo non ti avviserebbe), prova qualcos'altro, ad esempio se workT non funziona, prova ⇧⌘T.
  • Non correggere l'ortografia MacOS, non è necessario.

1
L'opzione 2 ha funzionato per me, grazie! Strana limitazione di non funzionare dal desktop. Inoltre, sconsiglierei ⇧⌘T poiché è una scorciatoia comune per "riaprire l'ultima scheda chiusa"
Charlie G

2

iTerm2 - un'alternativa al terminale - ha un'opzione per utilizzare il tasto di scelta rapida configurabile a livello di sistema per mostrare / nascondere (inizialmente impostato su Alt+ Space, disabilitato per impostazione predefinita)


Parlando di iTerm2. Questo è ciò che sto cercando di avviare, usando Automator, ma "script"ottengo quell'errore quando lo specifichi, tell application "iTerm2"quindi come hai aperto iTerm2?
blamb

1
@blamb Di solito apro iTerm2 tramite questo tasto di scelta rapida (dovrebbe essere abilitato nelle preferenze di iTerm2 -> tasti -> Tasto di scelta rapida). Non ho mai provato l'automatore.
Victor

Per maggiori informazioni sulla personalizzazione, vedi questa risposta: superuser.com/a/1259726
Benjamin R
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.