Cet applescript fonctionne pour moi:
-- script was opened by click in toolbar
on run
tell application "Finder"
try
set currFolder to (folder of the front window as string)
on error
set currFolder to (path to desktop folder as string)
end try
end tell
CD_to(currFolder, false)
end run
-- script run by draging file/folder to icon
on open (theList)
set newWindow to false
repeat with thePath in theList
set thePath to thePath as string
if not (thePath ends with ":") then
set x to the offset of ":" in (the reverse of every character of thePath) as string
set thePath to (characters 1 thru -(x) of thePath) as string
end if
CD_to(thePath, newWindow)
set newWindow to true -- create window for any other files/folders
end repeat
return
end open
-- cd to the desired directory in iterm
on CD_to(theDir, newWindow)
set theDir to quoted form of POSIX path of theDir as string
tell application "iTerm"
activate
delay 1
-- talk to the first terminal
try
set myterm to the first terminal
on error
set myterm to (make new terminal)
end try
tell myterm
try
-- launch a default shell in a new tab in the same terminal
launch session "Default Session"
on error
display dialog "There was an error creating a new tab in iTerm." buttons {"OK"}
end try
tell the last session
try
-- cd to the finder window
write text "cd " & theDir
on error
display dialog "There was an error cding to the finder window." buttons {"OK"}
end try
end tell
end tell
end tell
end CD_to
En utilisant les autres réponses de cette page, j'ai créé une application qui peut être glissée dans la barre des tâches du Finder.
Vous pouvez le télécharger ici: https://github.com/rc1/iTermTo
la source
Il est intégré à iTerm2 à partir de la version 3.1.0.
Pour utiliser la fonctionnalité:
dans le Finder, cliquez avec le bouton droit sur un dossier -> Services -> Nouvelle fenêtre iTerm2 ici
Remarque: le
Services
sous-menu est tout en bas du menu contextuel.Référence
Sur ce lien, cliquez sur Afficher les versions antérieures , puis sous iTerm2 3.1.0, cliquez sur Afficher le journal des modifications et recherchez les services , vous trouverez ceci:
la source
Jetez un œil au
cdto
projet hébergé sur https://github.com/jbtule/cdto "Application Finder Toolbar pour ouvrir le répertoire actuel dans le terminal (ou iTerm, X11). Cette application est conçue (y compris son icône) pour être placée dans la barre d'outils de la fenêtre du Finder. "la source
Juste pour être complet, avant de trouver cette question, ce qui a fonctionné pour moi était:
Applescript Editor-> File-> Export-> File Format = .app
..app
déposez la barre d'outils du Finder.Il en résulte un bouton de la barre d'outils du Finder qui ouvre le répertoire actuel dans un nouvel
iTerm2
onglet. XtraFinder propose un tel bouton, mais il ouvre de nouvelles fenêtres.Une solution similaire utilisant des services peut être trouvée ici , qui renvoie à des solutions AppleScript encore plus connexes:
Mon AppleScript adapté est:
Cette solution a été commentée dans ce fil de discussion relatif aux boutons .
Merci à la réponse iTermTo ci-dessus.
la source
Je suppose que c'est parce que les composants internes d'iTerm ont changé, mais aucune des solutions n'a fonctionné pour moi. Quel a été le code suivant:
Ou en utilisant Automator comme service de recherche:
la source
Avec iTerm:
Dans l'onglet Préférences Iterm et sous Profils, accédez au sous-onglet Général, définissez Répertoire de travail sur «Réutiliser le répertoire de la session précédente».
la source
Voici un script simplifié qui ouvre toujours un nouvel onglet (comme le script de bulljit):
Si vous souhaitez que le script réutilise les onglets existants, remplacez le
tell current terminal
bloc par quelque chose comme ceci:Mais cela ne fonctionnera pas si, par exemple, la session en cours est occupée ou exécute un processus less ou vim.
Envelopper le script dans un bloc try le fait échouer silencieusement.
reopen
ouvre une nouvelle fenêtre de terminal s'il n'y a pas de fenêtres visibles ou si seulement par exemple la fenêtre des préférences est ouverte. Le Finder possède également uneinsertion location
propriété, qui est généralementtarget of Finder window 1
le bureau. Mais il y a un bogue dans 10.7 et versions ultérieures où il fait souvent référence à une autre fenêtre que la fenêtre la plus en avant.Quelques problèmes potentiels avec le script de bulljit:
front window
(window 1
), qui peut être une fenêtre d'informations ou une fenêtre de préférences.Finder window 1
serait toujours une fenêtre de navigateur de fichiers./
si la fenêtre du Finder la plus en avant affiche une vue qui n'a pas de chemin (comme la vue Réseau).Je préfère simplement utiliser une fonction comme celle-ci:
la source