Comment puis-je ouvrir une fenêtre de terminal directement à partir de mon emplacement actuel du Finder?


102

Je me demandais s'il y en avait un où je pouvais cliquer avec le bouton droit de la souris dans une instance de la fenêtre du "Finder", de sorte que j'ai l'option "Ouvrir le terminal ici". Ce serait vraiment utile.


5
Il y a beaucoup de réponses à une question similaire sur Stack Overflow .
Rob Kennedy

4
ce site devrait être un endroit plus approprié pour demander si
ericn

Réponses:


123

À partir de Mac OS X Lion 10.7, Terminal fournit des services pour ouvrir une nouvelle fenêtre ou un nouvel onglet de terminal dans le dossier sélectionné dans le Finder. Ils fonctionnent également avec des noms de chemin absolus sélectionnés dans le texte (quelle que soit l'application). Vous pouvez activer ces services avec Préférences système & gt; Clavier & gt; Raccourcis clavier & gt; Prestations de service . Recherchez "Nouveau terminal dans le dossier" et "Nouvel onglet Terminal dans le dossier". Vous pouvez également leur attribuer des touches de raccourci.

En outre, vous pouvez maintenant faire glisser des dossiers (et des noms de chemin) sur l'icône de l'application Terminal pour ouvrir une nouvelle fenêtre de terminal ou sur une barre d'onglets dans une fenêtre de terminal pour créer un nouvel onglet dans cette fenêtre. Si vous faites glisser sur un onglet (plutôt que dans la vue du terminal), il exécutera une complète cd commande pour basculer vers ce répertoire sans aucune saisie supplémentaire.

À partir de OS X Mountain Lion 10.8, vous pouvez également exécuter une commande complète en faisant glisser le curseur de la souris vers un terminal. cd commander.


2
"En outre, vous pouvez maintenant faire glisser des dossiers (et des noms de chemins) sur l'icône de l'application Terminal pour ouvrir une nouvelle fenêtre de terminal", vous vous foutez de moi? c'est génial! :)
phil

3
Dans Mavericks 10.9.4 - les raccourcis ne fonctionnent pas pour moi. Merci pour glisser et déposer tip :)
amar

1
@amar Pourriez-vous partager avec nous ce que vous avez fait? Également cassé pour moi en 10.10
OJFord

2
@Olive - après la mise à niveau vers Yesomite, les raccourcis ne fonctionnaient plus pour moi :(
amar

4
Une chose que j'ai remarquée, et ceci avec El Capitan, est que vous devez sélectionner le dossier dans le Finder (cliquez une fois sur le dossier que vous voyez dans le Finder). La façon dont je pensais que cela fonctionnerait est que cela ouvrirait une fenêtre de terminal dans le dossier actuel. En fait, vous devez sélectionner le dossier dans la fenêtre.
sillygwailo

17

La solution à vos problèmes s'appelle Go2Shell et il fait exactement ce que vous décrivez. Vous pouvez le trouver sur l'App Store et le meilleur de tous ... c'est totalement gratuit.

Go2Shell


Si vous souhaitez utiliser iTerm à la place avec Go2Shell, voir cette réponse pour faire apparaître les préférences . Ou en bref, tapez open -a Go2Shell --args config pour faire apparaître la configuration.
Jeromy Anglim

@Jherran il semble être ok maintenant
Colas

La dernière version ne peut pas être installée via l'App Store, mais depuis leur site Web. zipzapmac.com/Go2Shell ou par brew cask install go2shell.
fiedl

13

Une approche différente: DTerm , qui vous donne une invite de commande flottante en haut de la fenêtre. Cela fonctionne dans de nombreuses applications, pas seulement dans le Finder.


12

cdto semble que c’est exactement ce dont vous avez besoin. C’est une mini-application, conçue pour être placée dans la barre d’outils du Finder. Lorsque vous l’exécutez, elle ouvre une fenêtre de terminal et cd dans le répertoire en cours dans le Finder.


8

Pour ceux qui utilisent iTerm, la syntaxe AppleScript a été modifiée dans iTerm version 3. Voici la procédure complète à suivre pour créer un raccourci dans le Finder.

  1. Lancer Automator.

  2. Sélectionnez "Application":

illustration of instructions

  1. Choisissez "exécuter Applescript":

enter image description here

  1. Collez le code ci-dessous:

    -- 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
    

enter image description here

  1. Cliquez sur "Fichier" - & gt; "Exporter" pour exporter en tant que .app, enregistrez-le dans /Applications.

  2. Déplacez l'application dans la barre d'icônes du Finder tout en maintenant :

enter image description here

Terminé !

Vous pouvez changer l'icône dans le Finder en suivant les instructions ici (changez l’icône de l’application que vous avez créée avec Automator).


7

J'utilise principalement cette fonction:

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

Vous pouvez également assigner un raccourci à un script comme ceux ci-dessous.

Réutilisez un onglet existant ou créez une nouvelle fenêtre (Terminal):

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

Réutiliser un onglet existant ou créer un nouvel onglet (Terminal):

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

Toujours créer un nouvel onglet (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

Les deux premiers scripts présentent quelques avantages par rapport aux services ajoutés dans 10.7:

  • À partir de la version 10.9, il existe un bogue dans lequel les services recevant des dossiers en entrée ne sont jamais répertoriés dans le menu des services en mode colonne. Si vous attribuez un raccourci clavier à la fonction Nouvel onglet Terminal du service de dossiers, cela ne fonctionne pas en mode colonne.
  • Ils utilisent le dossier dans la barre de titre au lieu de vous demander de sélectionner d'abord un dossier.
  • Ils réutilisent l'onglet le plus en avant s'il n'est pas occupé, par exemple. exécuter une commande, afficher une page de manuel ou exécuter emacs.

Si vous utilisez 10.7 ou 10.8, changez tell application "Finder" to set p to POSIX path of (insertion location as alias) à:

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

Il existe un bogue dans 10.7 et 10.8 (mais pas dans 10.9 ou 10.6) dans lequel le Finder ignore les fenêtres créées après le dernier déplacement du focus dans une autre application et lors du retrait du insertion location propriété.



2

Vous pouvez faire glisser n'importe quel fichier ou dossier du viseur sur une fenêtre de terminal pour insérer une chaîne du chemin absolu dudit fichier ou dossier.

Cela fonctionnera sur n’importe quelle installation standard (au moins jusqu’à 10.4 Tiger [ peut-être plus tôt? ]) sans avoir besoin de logiciel supplémentaire, nous modifions nos préférences, l’une ou l’autre pouvant faire peur à votre ami non-techy s’il s’agissait bien de son Mac sur lequel vous travaillez. Cette astuce fonctionne également pour tout processus en cours d'exécution dans le terminal, par exemple. emacs ou vi (en supposant que vous avez vi dans le mode approprié, ou de quelque manière que ce soit, les personnes qui utilisent vi le font).







0

Ma version MacOS: 10.12.5 et vous n'avez pas besoin d'utiliser d'autres outils.

1. Activer les services: Préférences Système & gt; Clavier & gt; Raccourcis clavier & gt; Prestations de service

vérifier New Terminal at Folder

  1. Finder & gt; Afficher & gt; Afficher la barre de chemin

  2. Comment voir le service? C'est délicat.

Puisque vous pouvez voir la barre de chemin ci-dessous dans le viseur, faites un clic droit sur l’icône du fichier sur ce chemin, alors vous pouvez voir Service & gt; New Terminal at Folder


2
La réponse acceptée contient déjà des informations sur l'utilisation du service intégré. Il n'y a donc aucune raison de le répéter séparément!
user3439894

@ user3439894 - Je ne suis pas d'accord: la réponse acceptée montre comment activer ce service, il ne dit pas un mot comment utiliser ce service. Ainsi, la réponse de skytree fournit en effet des informations importantes.
whaefelinger

@whaefelinger, Tout comme moi, vous avez également droit à une opinion, mais je ne partage pas votre opinion. Il n'est pas nécessaire d'afficher la barre de chemin pour utiliser le service. C'est SOP, les services sont disponibles dans le menu Fichier et le menu contextuel dans le Finder. La question posée spécifiquement sur " clic droit dans n'importe quelle instance d'une fenêtre "Finder" telle que j'ai l'option "Ouvrir le terminal ici" "et la réponse acceptée répond à cela sans qu'il soit nécessaire de répéter le clic droit sur l'objet cible pour accéder au service vérifié, car les services agissent généralement sur l'objet sélectionné dans le Finder.
user3439894

-1

OpenTerminal Un séjour sans faille


1
Lien mort :(. C'est la raison pour laquelle seules les réponses de liens ont une courte durée de vie ou doivent être vérifiées régulièrement pour rester en vie.
daniel Azuelos

@daniel Remplacé par un lien archive.org
grg
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.