Ouvrez le terminal ici dans Mac OS finder [fermé]
Y a-t-il quelque chose de similaire à la "fenêtre de commande ouverte Ici" Windows Powertoy pour Mac OS? J'ai trouvé quelques plugins grâce à une recherche google, mais je voulais voir ce qui fonctionne le mieux pour les développeurs là-bas.
14 réponses
Depuis 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 devrez donc l'activer pour le faire apparaître dans le menu Services.
Préférences Système > Clavier > Raccourcis > Services
Activer nouveau Terminal dans le dossier . Il y a aussi Nouvel onglet Terminal dans le dossier , qui va créer un onglet dans la fenêtre du Terminal le plus en avant (le cas échéant, sinon il va créer une nouvelle fenêtre). Ces Services fonctionnent dans toutes les applications, pas seulement Finder, et ils fonctionnent sur des dossiers ainsi que des noms de chemin 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 (clic droit ou clic droit sur un dossier ou un chemin d'accès).
Le Nouveau Terminal au Dossier service deviendra active lorsque vous sélectionnez un dossier dans le Finder. Vous ne pouvez pas simplement avoir le dossier ouvert et exécutez le service "en place". Revenez au dossier parent, sélectionnez le dossier approprié, puis activez le service via le menu Services ou le menu contextuel.
En outre, Lion Terminal ouvrira 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 de Terminal, et vous pouvez également faire glisser vers 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". (Glisser dans la vue du terminal dans l'onglet insère simplement le chemin seul, 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 de glisser un dossier / chemin d'accès sur L'icône de L'application du Terminal.
Sur une note connexe, Lion Terminal a également de nouveaux Services pour rechercher des pages de manuel: ouvrir la page de manuel dans Terminal affiche le sujet de la page de manuel sélectionnée dans une nouvelle fenêtre de terminal, et recherche les 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").
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'intègre très bien. Il fonctionne avec Terminal, xterm (sous X11), iterm.
Une application que j'ai trouvée indispensable comme alternative est DTerm , qui ouvre en fait un mini terminal directement dans votre application. De plus, il fonctionne avec à peu près tout ce qui existe - 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 la plus haute sans quitter Terminal. De cette façon, vous pouvez éviter d'utiliser la souris.
J'ai ajouté ce qui suit à mon {[1] } afin que je puisse taper cdff
dans le 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 vient de ceci macosxhints.com indice Terminal .
Consultez Ouvrez le Terminal ici . Il 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 les espaces... mais il n'est pas parfait.
Ce qu'il a qui est très agréable est la possibilité de "détecter les événements key-down Au début de l'application et les utiliser pour modifier le comportement du script " permettant au script d'ouvrir un nouvel onglet dans la fenêtre frontale la plus terminale lorsqu'il est invoqué en maintenant bas ⌘ clé. Truc intéressant.
Notez également la réponse de PCheese; c'est probablement plus utile pour les utilisateurs de terminaux lourds!
Il existe une version mise à jour de la très belle et mince Ouvrir un Terminal Ici posté par vgm64 et d0k. Le changement a été fait par james david low. Il a publié la nouvelle version sur son site. Il suffit de télécharger OpenTerminalHere.compressez, extrayez-le, déplacez le bundle dans votre dossier Bibliothèque / Scripts et faites-le glisser vers votre barre d'outils du Finder.
Quelle est la particularité est qu'il ouvre un nouvel onglet si un Terminal.fenêtre d'application est déjà ouvrir. Très utile! J'ai également noté que le style du bouton de l'application s'adapte le Léopard des Neiges Finder.style d'application que cdto posté par expurgé a fait.
En outre, vous pouvez copier un élément du finder en utilisant la commande-C, sauter dans le Terminal (par exemple en utilisant Spotlight ou QuickSilver) tapez ' cd ' et collez simplement avec la commande-v
J'ai créé un bundle avec 3 applications pour la barre d'outils du finder. Les deux autres applications font:
- Ouvrez Textmate avec la sélection actuelle
- 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). Je ne pense pas qu'il soit livré avec un Terminal ouvert ici applescript mais j'utilise ce script (dont je ne me souviens pas honnêtement si j'ai écrit moi-même, ou soulevé 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 obtenir le chemin complet vers un fichier sur un clic droit, ce qui est encore plus utile, je trouve.
C'est un peu plus que ce que vous demandez, mais je recommande Path Finder de Cocoatech à tous ceux qui souhaitent que le Finder ait un peu plus de jus. Il comprend un bouton de barre d'outils pour ouvrir une fenêtre de Terminal pour le répertoire courant, ou un volet rétractable avec une ligne de commande de Terminal au bas de chaque fenêtre du Finder. De plus, de nombreuses autres fonctionnalités dont je ne peux plus me passer. 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é l'installation du paquet pos via Fink (une condition préalable dans ce cas, peut-être y a-t-il quelque chose de similaire pour ceux qui utilisent MacPorts?) pour être la solution la plus simple. Vous obtenez deux commandes:
- posd-qui donne le répertoire courant de la fenêtre du Finder la plus proche (pour laquelle vous créez probablement un alias cdf = CD posd)
- fdc - qui bascule le répertoire courant de la fenêtre du Finder la plus proche vers le pwd Terminal. Ceci est légèrement différent de ' ouvert ."qui ouvre une nouvelle fenêtre du finder.
Oui, vous devez passer à la fenêtre du Terminal avant d'écrire cdf, mais je suppose que c'est assez bon marché comparé à cliquer sur un bouton dans la barre d'outils du Finder. Et cela fonctionne aussi avec iTerm, vous n'avez pas besoin de télécharger un bouton de barre d'outils Finder séparé 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/
Cela vous permet également d'ouvrir n'importe quel dossier que vous voyez dans le Finder arborescence.
J'utilise surtout cette fonction:
cf() {
cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}
Vous pouvez également affecter un raccourci à un script comme ceux ci-dessous.
Réutiliser un onglet existant ou créer 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
Créez toujours 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 en 10.7:
- Ils utilisent le dossier sur la barre de titre au lieu de vous obliger à sélectionnez d'abord un dossier.
- ils réutilisent l'onglet le plus en avant s'il n'est pas occupé, par exemple en exécutant une commande, en affichant une page de manuel ou en exécutant emacs.
Il y a un bug dans L'AppleScript sur OSX 10.6. (2 fenêtres de terminal ouvertes). J'ai corrigé cela en ajoutant la commande close après activate. Cela 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