Existe-t-il quelque chose de similaire au "Powertoy Windows" pour "Ouvrir la fenêtre de commande ici"? J'ai trouvé quelques plugins grâce à une recherche sur Google, mais je voulais voir ce qui fonctionnait le mieux pour les développeurs.
À 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
Activer Nouveau terminal dans un dossier. Il y a aussi Nouvel onglet de terminal dans le dossier, ce qui créera un onglet dans la fenêtre de terminal la plus en avant (le cas échéant, sinon cela créera une nouvelle fenêtre). Ces services fonctionnent dans toutes les applications, pas seulement dans le Finder, et ils agissent aussi bien sur les dossiers que sur les 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 d'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 un 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 "en place". Retournez au dossier parent, sélectionnez le dossier approprié, puis activez le service via le menu Services ou le menu contextuel.
En outre, 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 de premier plan est le shell, il exécutera automatiquement une commande "cd". (Faire 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 depuis la ligne de commande ou un script Shell:
open -a Terminal /path/to/folder
C'est l'équivalent en ligne de commande de glisser un dossier/chemin d'accès sur l'icône de l'application Terminal.
Sur une note connexe, Lion Terminal dispose également de nouveaux services de consultation des pages de manuel: Ouvrir la page de manuel dans Terminal affiche le sujet de la page de manuel sélectionné dans une nouvelle fenêtre de terminal, et Rechercher des pages de manuel dans Terminal effectue "apropos" 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").
Cette:
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 intégrant très bien. Cela fonctionne avec Terminal, xterm (sous X11), iterm.
Une application que j'ai trouvée indispensable en tant qu'alternative est DTerm , qui ouvre en réalité un mini-terminal directement dans votre application. De plus, cela fonctionne avec à peu près tout - Finder, XCode, PhotoShop, etc.
Précision (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 taper cdff
dans Terminal à tout moment.
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 $@`"; };
Ceci est de cette astuce de terminal macosxhints.com .
Départ Open Terminal Here . 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 Spaces ... mais pas parfait.
Ce qui est très pratique, c’est la possibilité de " détecter les événements de touche enfoncée au début 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.
Notez également la réponse de PCheese; c'est probablement plus utile pour les gros utilisateurs de terminaux!
Il y a une version mise à jour du très beau et mince Open Terminal Here posté par vgm64 et d0k . Le changement a été effectué par james david low . Il a publié la nouvelle version sur son site . Il suffit de télécharger OpenTerminalHere.Zip, de l'extraire, de déplacer l'ensemble dans votre dossier Bibliothèque/Scripts et de le faire glisser dans la barre d'outils du Finder.
La particularité de ce logiciel est que 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é .
Vous pouvez également copier un élément du Finder à 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 du Finder. Les deux autres applications font:
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). 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 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/
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/
Cela vous permet également d'ouvrir n'importe quel dossier que vous voyez dans l'arborescence du Finder.
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:
Oui, vous devez passer à la fenêtre Terminal avant d'écrire cdf, mais j'imagine que c'est assez économique comparé au fait de cliquer sur un bouton de la barre d'outils du Finder. Et cela fonctionne aussi avec iTerm, vous n’avez pas à 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.
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 deux avantages par rapport aux services ajoutés dans 10.7:
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