Come posso aprire una finestra di Terminale direttamente dalla mia posizione attuale del Finder?

102

Mi chiedevo se ce n'era qualcuno in cui potevo fare clic con il tasto destro del mouse all'interno di qualsiasi istanza di una finestra di "Finder" in modo tale che ho un'opzione che dice "Apri terminale qui". Sarebbe davvero utile.

    
posta hairboat 04.04.2011 - 04:30
fonte

15 risposte

122

A partire da Mac OS X Lion 10.7, Terminal fornisce servizi per l'apertura di una nuova finestra o scheda terminale nella cartella selezionata in Finder. Funzionano anche con percorsi assoluti selezionati nel testo (in qualsiasi applicazione). Puoi abilitare questi servizi con Preferenze di sistema > Tastiera > Tasti di scelta rapida > Servizi . Cerca "Nuovo terminale nella cartella" e "Nuova scheda terminale nella cartella". Puoi anche assegnare loro i tasti di scelta rapida.

Inoltre, ora puoi trascinare cartelle (e nomi di percorso) sull'icona dell'applicazione Terminale per aprire una nuova finestra di terminale o su una barra delle schede in una finestra di terminale per creare una nuova scheda in quella finestra. Se trascini su una scheda (anziché nella vista terminale) eseguirà un comando cd completo per passare a quella directory senza alcuna digitazione aggiuntiva.

A partire da OS X Mountain Lion 10.8, Command-Dragging in un terminale eseguirà anche un comando cd completo.

    
risposta data 07.08.2011 - 14:49
fonte
17

La soluzione ai tuoi problemi si chiama Go2Shell e fa esattamente quello che stai descrivendo. Puoi trovarlo su App Store e soprattutto ... è totalmente gratuito.

    
risposta data 31.07.2011 - 10:41
fonte
13

Un approccio diverso: DTerm , che ti dà un prompt di comando fluttuante nella parte superiore della finestra. Funziona in molte app, non solo in Finder.

    
risposta data 31.07.2011 - 10:37
fonte
12

cdto sembra che sia proprio quello di cui hai bisogno. È una mini-applicazione, progettata per essere inserita nella barra degli strumenti del Finder, quando la esegui aprirà una finestra di terminale e cd nella directory corrente in Finder.

    
risposta data 04.04.2011 - 04:35
fonte
7

Per lo più uso questa funzione:

cf() {
  cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}

Potresti anche assegnare un collegamento a uno script come quelli qui sotto.

Riutilizza una scheda esistente o crea una nuova finestra (Terminale):

tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "Terminal"
    if (exists window 1) and not busy of window 1 then
        do script "cd " & quoted form of p in window 1
    else
        do script "cd " & quoted form of p
    end if
    activate
end tell

Riutilizza una scheda esistente o crea una nuova scheda (Terminale):

tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "Terminal"
    if not (exists window 1) then reopen
    activate
    if busy of window 1 then
        tell application "System Events" to keystroke "t" using command down
    end if
    do script "cd " & quoted form of p in window 1
end tell

Crea sempre una nuova scheda (iTerm 2):

tell application "Finder" to set p to POSIX path of (insertion location as alias)
tell application "iTerm"
    if exists current terminal then
        current terminal
    else
        make new terminal
    end if
    tell (launch session "Default") of result to write text "cd " & quoted form of p
    activate
end tell

I primi due script hanno alcuni vantaggi rispetto ai servizi aggiunti in 10.7:

  • A partire da 10.9, c'è un bug in cui i servizi che ricevono le cartelle come input non vengono mai elencati nel menu servizi nella visualizzazione colonne. Se assegni la nuova scheda Terminale al servizio Cartelle, una scorciatoia da tastiera, non funziona nella vista colonne.
  • Usano la cartella sulla barra del titolo invece di richiedere di selezionare prima una cartella.
  • Riutilizza la scheda in primo piano se non è occupata, ad es. eseguire un comando, visualizzare una pagina man o eseguire emacs.

Se utilizzi 10.7 o 10.8, modifica tell application "Finder" to set p to POSIX path of (insertion location as alias) in:

tell application "Finder"
    if exists Finder window 1 then
        set p to POSIX path of (target of Finder window 1 as alias)
    else
        set p to POSIX path of (path to desktop)
    end if
end tell

C'è un bug in 10.7 e 10.8 (ma non in 10.9 o 10.6) dove Finder ignora le finestre create dopo l'ultima messa a fuoco dello stato in cui è stata spostata su un'altra applicazione e indietro quando ottiene la proprietà insertion location .

    
risposta data 30.08.2012 - 08:14
fonte
7

Per coloro che usano iTerm, la sintassi di AppleScript è cambiata in iTerm versione 3. Ecco la procedura completa da seguire per creare un collegamento nel Finder.

  1. Avvia Automator.

  2. Seleziona "Applicazione":

  • Scegli "esegui Applescript":
  • Incolla il codice qui sotto:

    -- get the current directory in Finder
    on run {input, parameters}
        tell application "Finder"
            set _cwd to quoted form of (POSIX path of (folder of the front window as alias))
        end tell
        CD_to(_cwd)
    end run
    
    -- change directory in iTerm (version >= 3)
    on CD_to(_cwd)
        tell application "iTerm"
            activate
    
            try
                set _window to first window
            on error
                set _window to (create window with profile "Default")
            end try
    
            tell _window
                tell current session
                    write text "cd " & _cwd & ";clear;"
                end tell
            end tell
        end tell
    end CD_to
    
  • Fai clic su "File" - > "Esporta" per esportare come .app , salvalo in /Applications .

  • Sposta l'applicazione nella barra delle icone del Finder tenendo premuto :

  • Fatto!

    Puoicambiarel'iconanelFinderseguendoleistruzioni qui (cambia l'icona dell'applicazione creato con Automator).

        
    risposta data 25.06.2016 - 17:40
    fonte
    3

    Puoi farlo con la funzione di servizio.

    Il seguente sito contiene un esempio di tale servizio: link

        
    risposta data 04.04.2011 - 15:44
    fonte
    2

    Puoi trascinare qualsiasi file o cartella dal Finder su una finestra di Terminale per inserire una stringa di detto percorso assoluto di file o cartella.

    Funzionerà su qualsiasi installazione standard (almeno fino a 10.4 Tiger [ ¿forse precedente? ]) senza bisogno di software aggiuntivo, il nostro vantaggio in termini di preferenze, che potrebbe in seguito sconcertare il tuo non- amico tecnico se capita di essere il suo Mac su cui stai lavorando. Questo trucco funziona anche per qualsiasi processo in esecuzione nel terminale, ad es. emacs o vi (presumendo che tu abbia vi nella modalità appropriata, o comunque sia tu che usi chi vi fa).

        
    risposta data 07.08.2011 - 19:57
    fonte
    2

    Prova questo: link

    Funziona con gli elementi della barra laterale del Finder, con più selezioni di cartelle / file e qualsiasi cosa tu possa pensare. Davvero facile da usare!

        
    risposta data 07.02.2014 - 09:33
    fonte
    1

    ShellHere

    link - Etresoft e John Daniel

    … right click inside any instance of a "Finder" window …

    Non so se è possibile raggiungerlo attraverso un menu contestuale, ma mantengo ShellHere nella barra degli strumenti di Finder .

        
    risposta data 31.07.2011 - 10:23
    fonte
    1

    OnMyCommand

    link - versione 2.3 (2011-01-16)

    Screenshot ecc. al link

    Installato e utilizzato da me su Snow Leopard prima di passare a Lion. Troppo presto per me per dire se la versione 2.3 è compatibile con Lion.

        
    risposta data 31.07.2011 - 12:17
    fonte
    0

    Puoi l'app che ho sviluppato FinderGo , che è open source e facile da usare

        
    risposta data 17.03.2017 - 07:50
    fonte
    0

    Lo uso da anni link
    Basta fare clic destro su Finder ovunque, selezionare Apri terminale

        
    risposta data 07.04.2017 - 07:32
    fonte
    0

    La mia versione MacOS: 10.12.5 e non è necessario utilizzare altri strumenti.

    1. Abilita servizi: Preferenze di Sistema > Tastiera > Tasti di scelta rapida > Servizi

    controlla New Terminal at Folder

    1. Finder > Visualizza > Mostra barra dei percorsi

    2. Come visualizzare il servizio? Questo è difficile.

    Dal momento che puoi vedere la barra dei percorsi sottostante nel mirino, fai clic con il pulsante destro del mouse sull'icona del file su quel percorso, quindi puoi vedere Service > New Terminal at Folder

        
    risposta data 11.06.2017 - 21:37
    fonte
    -1
    risposta data 11.10.2011 - 13:00
    fonte

    Leggi altre domande sui tag