Question

Existe-t-il quelque chose de similaire au " Ouvrir la fenêtre de commande ici " Windows Powertoy pour Mac OS? J'ai trouvé quelques plugins grâce à une recherche Google mais je voulais voir ce qui fonctionnait le mieux pour les développeurs.

Était-ce utile?

La solution

À partir de Mac OS X Lion 10.7, Terminal inclut exactement cette fonctionnalité en tant que service. Comme avec la plupart des services, ceux-ci sont désactivés par défaut. Vous devez donc l'activer pour les afficher dans le menu Services.

  

Préférences Système > Clavier > Raccourcis > Services

Activez Nouveau terminal dans un dossier . Il existe également un onglet Nouveau terminal dans le dossier , qui crée un onglet dans la fenêtre du terminal située au premier plan (le cas échéant, sinon une nouvelle fenêtre sera créée). Ces services fonctionnent dans toutes les applications, pas seulement dans le Finder, et ils s’appliquent aussi bien aux dossiers qu'aux chemins absolus sélectionnés dans le texte.

Vous pouvez même leur attribuer des touches de commande.

Les services apparaissent dans le sous-menu Services de chaque menu de l'application et dans le menu contextuel (Ctrl-Clic ou Clic-droit sur un dossier ou un chemin d'accès).

Le service Nouveau terminal dans dossier devient actif lorsque vous sélectionnez un dossier dans le Finder. Vous ne pouvez pas simplement ouvrir le dossier et exécuter le service "à la place". Retournez au dossier parent, sélectionnez le dossier approprié, puis activez le service via le menu Services ou le menu contextuel.

De plus, Lion Terminal ouvre une nouvelle fenêtre de terminal si vous faites glisser un dossier (ou un chemin d'accès) sur l'icône de l'application Terminal. Vous pouvez également faire glisser le curseur sur la barre d'onglets d'une fenêtre existante pour créer un nouvel onglet.

Enfin, si vous faites glisser un dossier ou un chemin d'accès sur un onglet (dans la barre d'onglets) et que le processus au premier plan est le shell, il exécutera automatiquement un & c; cd " commander. (Le fait de glisser dans la vue du terminal dans l'onglet insère simplement le chemin d'accès, comme dans les anciennes versions de Terminal.)

Vous pouvez également le faire à partir de la ligne de commande ou d'un script shell:

open -a Terminal /path/to/folder

C’est l’équivalent en ligne de commande du déplacement d’un dossier / chemin sur l’icône de l’application Terminal.

Sur une note connexe, Lion Terminal dispose également de nouveaux services pour la consultation des pages de manuel: Ouvrir la page de manuel dans le terminal : affiche le sujet de la page de manuel sélectionné dans une nouvelle fenêtre de terminal et Recherche dans le manuel. Les pages du terminal ont des performances "à propos". sur le texte sélectionné. Le premier comprend également les références de page de manuel ("open (2)"), les arguments de ligne de commande de page de manuel ("2 open") et les URL de page de manuel ("x-man-page: // 2 / open"). .

Autres conseils

Ceci:

https://github.com/jbtule/cdto#cd-to

C’est une petite application que vous faites glisser dans la barre d’outils du Finder; l’icône s’y glisse très bien. Cela fonctionne avec Terminal, xterm (sous X11), iterm.

DTerm , une application que je trouve indispensable constitue une solution de remplacement. mini terminal directement dans votre application. De plus, cela fonctionne avec à peu près tout ce qu'il y a sur le marché - Finder, XCode, PhotoShop, etc.

Clarification (merci @ vgm64): si vous êtes déjà dans Terminal, cela vous permet de passer rapidement à la fenêtre du Finder supérieure sans quitter Terminal. De cette façon, vous pouvez éviter d’utiliser la souris.

J'ai ajouté ce qui suit à mon .bash_profile afin de pouvoir saisir cdff à tout moment dans Terminal.

function ff { osascript -e 'tell application "Finder"'\
 -e "if (${1-1} <= (count Finder windows)) then"\
 -e "get POSIX path of (target of window ${1-1} as alias)"\
 -e 'else' -e 'get POSIX path of (desktop as alias)'\
 -e 'end if' -e 'end tell'; };\

function cdff { cd "`ff $@`"; };

Il s'agit de la cette indication du terminal macosxhints.com .

Découvrez Ouvrir le terminal ici . C’est peut-être le plus similaire à "Ouvrir la fenêtre de commande ici". J'ai utilisé > cdto et c'est très similaire, mais cela semble être un peu mieux pour traiter avec des espaces ... mais pas parfait.

Ce qui est très intéressant, c’est la possibilité de " détecter les événements de raccourci au démarrage de l’application et de les utiliser pour modifier le comportement du script ". permettant au script d'ouvrir un nouvel onglet dans la fenêtre la plus frontale du terminal lorsqu'il est appelé en maintenant la touche enfoncée. Astuce Neat.

Notez également la réponse de PCheese; c'est probablement plus utile pour les gros utilisateurs de terminaux!

Il existe une version mise à jour du Open Terminal Here très agréable et fin posté par vgm64 et d0k . Le changement a été effectué par james david low . Il a publié la nouvelle version sur son site . Téléchargez simplement OpenTerminalHere.zip, extrayez-le, déplacez l’ensemble dans votre dossier Bibliothèque / Scripts et faites-le glisser dans la barre d’outils du Finder.

La particularité est qu'il ouvre toujours un nouvel onglet si une fenêtre Terminal.app est déjà ouverte. Très utile! J'ai également remarqué que le style du bouton de l'application correspond mieux au style de Snow Leopard Finder.app que celui de cdto posté par expurgé .

De plus, vous pouvez copier un élément du chercheur à l’aide de la commande C, passer au terminal (par exemple, à l’aide de Spotlight ou de QuickSilver), taper 'cd' et simplement coller avec commande-v

J'ai créé un ensemble de 3 applications pour la barre d'outils de recherche. Les deux autres applications font:

  • ouvrir Textmate avec la sélection en cours
  • ouvrez GitX avec le dossier actuel

Pour plus d'informations, voir ici: http://nslog.de/posts/71

Si vous installez des scripts Big Cat ( http://www.ranchero.com/bigcat/) vous pouvez ajouter vos propres éléments de menu contextuel (clic droit). Voici, je ne pense pas que cela vienne avec un appellation Open Terminal Here, mais j'utilise ce script (dont je ne me souviens pas honnêtement si j'ai écrit moi-même ou tiré de l'exemple de quelqu'un d'autre):

on main(filelist)
    tell application "Finder"
        try
            activate
            set frontWin to folder of front window as string
            set frontWinPath to (get POSIX path of frontWin)
            tell application "Terminal"
                activate
                do script with command "cd \"" & frontWinPath & "\""
            end tell
        on error error_message
            beep
            display dialog error_message buttons ¬
                {"OK"} default button 1
        end try
    end tell
end main

Des scripts similaires peuvent également vous donner le chemin complet d'un fichier en faisant un clic droit, ce qui est encore plus utile, à mon avis.

C’est un peu plus que ce que vous demandez, mais je recommande Path Finder de Cocoatech à quiconque souhaite que le Finder ait un peu plus de jus. Il comprend un bouton de la barre d’outils permettant d’ouvrir une fenêtre de terminal pour le répertoire en cours ou un volet rétractable avec une ligne de commande de terminal au bas de chaque fenêtre du Finder. En plus de nombreuses autres fonctionnalités sans lesquelles je ne peux plus vivre. Logiciel très mature et stable. http://cocoatech.com/

Ok, je me rends compte que c'est un peu tard ... peut-être que cette alternative n'était pas disponible au moment de la rédaction du post?

Quoi qu’il en soit, j’ai trouvé que l’installation du paquet pos via Fink (une condition préalable dans ce cas, il existe peut-être quelque chose de similaire pour ceux qui utilisent MacPorts?) est la solution la plus simple. Vous obtenez deux commandes:

  1. posd - qui donne le répertoire en cours de la fenêtre la plus en avant du Finder (pour laquelle vous créez probablement un alias cdf = cd posd)
  2. fdc - qui bascule le répertoire en cours de la fenêtre du Finder au premier plan vers le terminal pwd. Ceci est légèrement différent de «ouvert». qui ouvre toujours une nouvelle fenêtre de recherche.

Oui, vous devez passer à la fenêtre Terminal avant de pouvoir écrire au format cdf, mais je suppose que cela ne coûte pas cher de comparer le fait de cliquer sur un bouton de la barre d’outils du Finder. Et cela fonctionne aussi avec iTerm, vous n’avez pas besoin de télécharger un bouton séparé de la barre d’outils du Finder qui ouvre une fenêtre iTerm. C’est la même approche que celle proposée par PCheese, mais vous n’avez pas à encombrer votre .bash_profile.

Si, comme moi, vous désactivez la barre d'outils du Finder, ce service ajoute un élément au menu contextuel de chaque dossier: http://blog.leenarts.net/2009/09/03/open-service-here/

Ceci vous permet également d'ouvrir n'importe quel dossier que vous voyez dans la vue de l'arborescence du Finder.

J'utilise principalement cette fonction:

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

Vous pouvez également attribuer un raccourci à un script tel que ceux décrits 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éutilisez un onglet existant ou créez 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 deux avantages par rapport aux services ajoutés dans 10.7:

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

Il y a un bogue dans AppleScript sur OSX 10.6. (2 fenêtres de terminal ouvertes). J'ai résolu ce problème en ajoutant la commande de fermeture après l'activation. Ceci ferme la première fenêtre du terminal.

on run
    tell application "Finder"
        try
            activate
            set frontWin to folder of front window as string
            set frontWinPath to (get POSIX path of frontWin)
            tell application "Terminal"
                activate
                close
                do script with command "cd \"" & frontWinPath & "\""
            end tell
        on error error_message
            beep
            display dialog error_message buttons ¬
                {"OK"} default button 1
        end try
    end tell
end run
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top