Mi chiedevo se c'era qualcosa che potevo fare clic con il tasto destro all'interno di qualsiasi istanza di una finestra "Finder" in modo tale da avere un'opzione che dice "Apri terminale qui". Sarebbe davvero utile.
Mi chiedevo se c'era qualcosa che potevo fare clic con il tasto destro all'interno di qualsiasi istanza di una finestra "Finder" in modo tale da avere un'opzione che dice "Apri terminale qui". Sarebbe davvero utile.
Risposte:
A partire da Mac OS X Lion 10.7, Terminal fornisce servizi per l'apertura di una nuova finestra o scheda del terminale nella cartella selezionata in Finder. Funzionano anche con nomi di percorso assoluti selezionati nel testo (in qualsiasi applicazione). È possibile 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 è possibile trascinare le cartelle (e i percorsi) sull'icona dell'applicazione Terminale per aprire una nuova finestra del terminale o su una barra delle schede in una finestra del terminale per creare una nuova scheda in quella finestra. Se si trascina su una scheda (anziché nella vista terminale) verrà eseguito un cd
comando completo per passare a quella directory senza alcuna digitazione aggiuntiva.
A partire da OS X Mountain Lion 10.8, anche il comando-trascinamento in un terminale eseguirà un cd
comando completo .
Nota: il servizio Nuovo terminale nella cartella diventerà attivo quando si seleziona una cartella nel Finder . Non è possibile semplicemente aprire la cartella ed eseguire il servizio "sul posto". Torna alla cartella principale, seleziona la cartella pertinente, quindi attiva il servizio tramite il menu Servizi o il menu contestuale.
La soluzione ai tuoi problemi si chiama Go2Shell e fa esattamente quello che stai descrivendo. Puoi trovarlo su App Store e soprattutto ... è totalmente gratuito.
open -a Go2Shell --args config
per visualizzare la configurazione.
brew cask install go2shell
.
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 si aprirà una finestra del terminale e cd
la directory corrente nel Finder.
Per coloro che usano iTerm, la sintassi AppleScript è cambiata in iTerm versione 3. Ecco la procedura completa da seguire per creare un collegamento nel Finder.
Avvia Automator.
Seleziona "Applicazione":
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 esportarlo come .app
, salvalo in /Applications
.
Sposta l'applicazione nella barra delle icone del Finder tenendo premuto ⌘:
Fatto !
Puoi cambiare l'icona nel Finder seguendo le istruzioni qui (cambia l'icona dell'applicazione che hai creato con Automator).
Uso principalmente questa funzione:
cf() {
cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}
È inoltre possibile assegnare un collegamento a uno script come quelli di seguito.
Riutilizzare una scheda esistente o creare 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
Riutilizzare una scheda esistente o creare 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 presentano alcuni vantaggi rispetto ai servizi aggiunti in 10.7:
Se si utilizza 10.7 o 10.8, passare tell application "Finder" to set p to POSIX path of (insertion location as alias)
a:
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) in cui Finder ignora le finestre create dopo l'ultimo spostamento del focus su un'altra applicazione e viceversa quando si ottiene la insertion location
proprietà.
Puoi farlo con la funzione di servizio.
Il seguente sito contiene un esempio di tale servizio: http://blog.leenarts.net/2009/09/03/open-service-here/
Puoi trascinare qualsiasi file o cartella dal cercatore su una finestra Terminale per inserire una stringa di detto file o il percorso assoluto della cartella.
Funzionerà su qualsiasi installazione standard (almeno fino alla 10.4 Tiger [ ¿forse prima? ]) Senza la necessità di software aggiuntivo il nostro rigirarsi delle preferenze, uno dei quali potrebbe in seguito spaventare il tuo amico non tecnico se capita che sia suo / lei Mac a cui stai lavorando. Questo trucco funziona anche per qualsiasi processo in esecuzione nel Terminale, ad esempio emacs o vi (supponendo che tu abbia vi nella modalità appropriata, o comunque è che tu che usi vi lo fai).
Prova questo: https://github.com/nmadhok/OpenInTerminal
Funziona con gli elementi della barra laterale del Finder, più selezioni di cartelle / file e qualsiasi cosa tu possa pensare. Davvero facile da usare!
http://etresoft.org/shellhere.html - Etresoft e John Daniel
... fai clic con il pulsante destro del mouse all'interno di qualsiasi istanza di una finestra "Finder" ...
Non so se può essere raggiunto tramite un menu contestuale, ma mantengo ShellHere nella barra degli strumenti di Finder .
http://free.abracode.com/cmworkshop/on_my_command.html - versione 2.3 (2011-01-16)
Screenshot ecc. Su http://www.wuala.com/grahamperrin/public/2011/07/31/d/?mode=gallery
Installato e utilizzato da me su Snow Leopard prima di passare a Lion. Troppo presto per dire se la versione 2.3 è compatibile con Lion.
Puoi l'app che ho sviluppato FinderGo , che è open source e facile da usare
Lo uso da anni http://openterminal.quentin.paris/
Basta fare clic con il tasto destro del mouse su qualsiasi Finder, selezionare Apri terminale