Wie kann ich ein Terminalfenster direkt von meinem aktuellen Finder-Standort aus öffnen?
109
Ich habe mich gefragt, ob ich mit der rechten Maustaste in eine Instanz eines "Finder" -Fensters klicken kann, sodass ich die Option "Open Terminal Here" (Terminal hier öffnen) habe. Es wäre sehr hilfreich.
Diese Seite sollte ein passenderer Ort sein, um danach zu fragen
ericn
Antworten:
133
Ab Mac OS X Lion 10.7 bietet Terminal Dienste zum Öffnen eines neuen Terminalfensters oder einer neuen Registerkarte im ausgewählten Ordner im Finder. Sie funktionieren auch mit absoluten Pfadnamen, die im Text ausgewählt sind (in jeder Anwendung). Sie können diese Dienste über Systemeinstellungen> Tastatur> Tastenkombinationen> Dienste aktivieren . Suchen Sie nach "New Terminal at Folder" und "New Terminal Tab at Folder". Sie können ihnen auch Tastenkombinationen zuweisen.
Außerdem können Sie jetzt Ordner (und Pfadnamen) auf das Terminalanwendungssymbol ziehen, um ein neues Terminalfenster zu öffnen, oder auf eine Registerkartenleiste in einem Terminalfenster, um in diesem Fenster eine neue Registerkarte zu erstellen. Wenn Sie auf eine Registerkarte ziehen (und nicht in die Terminalansicht), wird ein vollständiger cdBefehl ausgeführt, um ohne zusätzliche Eingabe in dieses Verzeichnis zu wechseln.
Ab OS X Mountain Lion 10.8 wird beim Ziehen von Befehlen in ein Terminal auch ein vollständiger cdBefehl ausgeführt.
Hinweis: Der Dienst "Neues Terminal bei Ordner" wird aktiviert, wenn Sie einen Ordner im Finder auswählen . Sie können den Ordner nicht einfach öffnen und den Dienst "an Ort und Stelle" ausführen. Kehren Sie zum übergeordneten Ordner zurück, wählen Sie den entsprechenden Ordner aus und aktivieren Sie den Dienst über das Menü Dienste oder das Kontextmenü.
"Außerdem können Sie jetzt Ordner (und Pfadnamen) auf das Terminalanwendungssymbol ziehen, um ein neues Terminalfenster zu öffnen." Das ist super! :)
Phil
3
In Mavericks 10.9.4 funktionieren Verknüpfungen für mich nicht. Vielen Dank für Drag & Drop-Tipp :)
amar
1
@amar Können Sie uns mitteilen, was Sie getan haben? Auch für mich in 10.10 gebrochen
OJFord
2
@Olive - Nach dem Upgrade auf Yesomite funktionierten die Verknüpfungen nicht mehr für mich :(
amar
4
Eine Sache, die mir aufgefallen ist, und die mit El Capitan zusammenhängt, ist, dass Sie den Ordner im Finder auswählen müssen (klicken Sie einmal auf den Ordner, den Sie im Finder sehen). Ich habe erwartet, dass dies funktioniert, indem ein Terminalfenster im aktuellen Ordner geöffnet wird. Tatsächlich müssen Sie den Ordner innerhalb des Fensters auswählen.
Sillygwailo
19
Die Lösung für Ihre Probleme heißt Go2Shell und macht genau das, was Sie beschreiben. Sie finden es im App Store und das Beste ist, dass es völlig kostenlos ist.
Wenn Sie iTerm stattdessen mit Go2Shell verwenden möchten, lesen Sie diese Antwort, um die Einstellungen aufzurufen . Kurz gesagt, geben Sie ein open -a Go2Shell --args config, um die Konfiguration aufzurufen.
Jeromy Anglim
@ jherran es scheint jetzt in Ordnung zu sein
Colas
1
Die neueste Version kann nicht über den App Store, sondern über die Website zipzapmac.com/Go2Shell oder von installiert werden brew cask install go2shell.
Fiedl
ich konnte die neueste version v1.2.2 aus dem apple / itunes app store installieren, die einwandfrei funktioniert
computingfreak
14
Ein anderer Ansatz: DTerm , mit dem Sie eine schwebende Eingabeaufforderung am oberen Rand des Fensters erhalten. Dies funktioniert in vielen Apps, nicht nur in Finder.
cdto scheint genau das zu sein, was Sie brauchen. Es handelt sich um eine Mini-Anwendung, die in die Symbolleiste des Finders eingefügt werden soll. Wenn Sie sie ausführen, wird ein Terminalfenster und cddas aktuelle Verzeichnis im Finder geöffnet .
cf(){
cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"}
Sie können einem Skript auch eine Verknüpfung wie die folgenden zuweisen.
Eine vorhandene Registerkarte wiederverwenden oder ein neues Fenster erstellen (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 1thendo script "cd "& quoted form of p in window 1elsedo script "cd "& quoted form of p
end if
activate
end tell
Eine vorhandene Registerkarte wiederverwenden oder eine neue Registerkarte erstellen (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 1then
tell application "System Events" to keystroke "t" using command down
end ifdo script "cd "& quoted form of p in window 1
end tell
Erstellen Sie immer eine neue Registerkarte (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
Die ersten beiden Skripte haben einige Vorteile gegenüber den in 10.7 hinzugefügten Diensten:
Ab 10.9 gibt es einen Fehler, bei dem Dienste, die Ordner als Eingabe erhalten, niemals im Menü Dienste in der Spaltenansicht aufgelistet werden. Wenn Sie der Registerkarte "Neues Terminal" im Ordnerdienst eine Tastenkombination zuweisen, funktioniert dies in der Spaltenansicht nicht.
Sie verwenden den Ordner in der Titelleiste, anstatt zunächst einen Ordner auswählen zu müssen.
Sie verwenden die vorderste Registerkarte erneut, wenn sie nicht belegt ist, z. B. wenn Sie einen Befehl ausführen, eine Manpage anzeigen oder Emacs ausführen.
Wenn Sie 10.7 oder 10.8 verwenden, wechseln Sie tell application "Finder" to set p to POSIX path of (insertion location as alias)zu:
tell application "Finder"if exists Finder window 1thenset p to POSIX path of (target of Finder window 1 as alias)elseset p to POSIX path of (path to desktop)
end if
end tell
Es gibt einen Fehler in 10.7 und 10.8 (nicht jedoch in 10.9 oder 10.6), bei dem Finder Fenster ignoriert, die erstellt wurden, nachdem der Fokus zum letzten Mal zu einer anderen Anwendung und zurück verschoben wurde, wenn die insertion locationEigenschaft abgerufen wurde .
Für Benutzer von iTerm hat sich die AppleScript-Syntax in iTerm Version 3 geändert. Gehen Sie wie folgt vor, um eine Verknüpfung im Finder zu erstellen.
Starten Sie Automator.
Wählen Sie "Bewerbung":
Wähle "run Applescript":
Fügen Sie den folgenden Code ein:
-- get the current directory inFinder
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
Klicken Sie auf "Datei" -> "Exportieren", um als zu exportieren .app, speichern Sie es in /Applications.
Verschieben Sie die Anwendung in die Finder-Symbolleiste, während Sie Folgendes gedrückt halten ⌘:
Getan !
Sie können das Symbol im Finder ändern, indem Sie den Anweisungen hier folgen (ändern Sie das Symbol der mit Automator erstellten Anwendung).
Sie können eine beliebige Datei oder einen Ordner aus dem Finder in ein Terminalfenster ziehen, um eine Zeichenfolge des absoluten Pfads der Datei oder des Ordners einzufügen.
Dies funktioniert bei jeder Standardinstallation (mindestens bis 10.4 Tiger [ ¿vielleicht früher? ]), Ohne dass zusätzliche Software erforderlich ist, um die Einstellungen zu ändern, die Ihren nicht-technischen Freund später aus dem Konzept bringen können, wenn es sich um seinen handelt Mac, an dem Sie arbeiten. Dieser Trick funktioniert auch für alle Prozesse, die im Terminal ausgeführt werden, z. B. emacs oder vi (vorausgesetzt, Sie haben vi im entsprechenden Modus, oder Sie verwenden vi).
Es funktioniert mit den Seitenleistenelementen des Finders, mehreren Ordner- / Dateiauswahlen und allem, was Sie sich vorstellen können. Wirklich einfach zu bedienen!
Wird von mir auf Snow Leopard installiert und verwendet, bevor auf Lion aktualisiert wird. Ich kann noch nicht sagen, ob Version 2.3 mit Lion kompatibel ist.
Dead Link :(. Dies ist der Grund, warum Link nur Antworten eine kurze Lebensdauer haben oder regelmäßig überprüft werden sollten, um am Leben zu bleiben.
Antworten:
Ab Mac OS X Lion 10.7 bietet Terminal Dienste zum Öffnen eines neuen Terminalfensters oder einer neuen Registerkarte im ausgewählten Ordner im Finder. Sie funktionieren auch mit absoluten Pfadnamen, die im Text ausgewählt sind (in jeder Anwendung). Sie können diese Dienste über Systemeinstellungen> Tastatur> Tastenkombinationen> Dienste aktivieren . Suchen Sie nach "New Terminal at Folder" und "New Terminal Tab at Folder". Sie können ihnen auch Tastenkombinationen zuweisen.
Außerdem können Sie jetzt Ordner (und Pfadnamen) auf das Terminalanwendungssymbol ziehen, um ein neues Terminalfenster zu öffnen, oder auf eine Registerkartenleiste in einem Terminalfenster, um in diesem Fenster eine neue Registerkarte zu erstellen. Wenn Sie auf eine Registerkarte ziehen (und nicht in die Terminalansicht), wird ein vollständiger
cd
Befehl ausgeführt, um ohne zusätzliche Eingabe in dieses Verzeichnis zu wechseln.Ab OS X Mountain Lion 10.8 wird beim Ziehen von Befehlen in ein Terminal auch ein vollständiger
cd
Befehl ausgeführt.Hinweis: Der Dienst "Neues Terminal bei Ordner" wird aktiviert, wenn Sie einen Ordner im Finder auswählen . Sie können den Ordner nicht einfach öffnen und den Dienst "an Ort und Stelle" ausführen. Kehren Sie zum übergeordneten Ordner zurück, wählen Sie den entsprechenden Ordner aus und aktivieren Sie den Dienst über das Menü Dienste oder das Kontextmenü.
quelle
Die Lösung für Ihre Probleme heißt Go2Shell und macht genau das, was Sie beschreiben. Sie finden es im App Store und das Beste ist, dass es völlig kostenlos ist.
quelle
open -a Go2Shell --args config
, um die Konfiguration aufzurufen.brew cask install go2shell
.Ein anderer Ansatz: DTerm , mit dem Sie eine schwebende Eingabeaufforderung am oberen Rand des Fensters erhalten. Dies funktioniert in vielen Apps, nicht nur in Finder.
quelle
cdto scheint genau das zu sein, was Sie brauchen. Es handelt sich um eine Mini-Anwendung, die in die Symbolleiste des Finders eingefügt werden soll. Wenn Sie sie ausführen, wird ein Terminalfenster und
cd
das aktuelle Verzeichnis im Finder geöffnet .quelle
Ich benutze meistens diese Funktion:
Sie können einem Skript auch eine Verknüpfung wie die folgenden zuweisen.
Eine vorhandene Registerkarte wiederverwenden oder ein neues Fenster erstellen (Terminal):
Eine vorhandene Registerkarte wiederverwenden oder eine neue Registerkarte erstellen (Terminal):
Erstellen Sie immer eine neue Registerkarte (iTerm 2):
Die ersten beiden Skripte haben einige Vorteile gegenüber den in 10.7 hinzugefügten Diensten:
Wenn Sie 10.7 oder 10.8 verwenden, wechseln Sie
tell application "Finder" to set p to POSIX path of (insertion location as alias)
zu:Es gibt einen Fehler in 10.7 und 10.8 (nicht jedoch in 10.9 oder 10.6), bei dem Finder Fenster ignoriert, die erstellt wurden, nachdem der Fokus zum letzten Mal zu einer anderen Anwendung und zurück verschoben wurde, wenn die
insertion location
Eigenschaft abgerufen wurde .quelle
Für Benutzer von iTerm hat sich die AppleScript-Syntax in iTerm Version 3 geändert. Gehen Sie wie folgt vor, um eine Verknüpfung im Finder zu erstellen.
Starten Sie Automator.
Wählen Sie "Bewerbung":
Fügen Sie den folgenden Code ein:
Klicken Sie auf "Datei" -> "Exportieren", um als zu exportieren
.app
, speichern Sie es in/Applications
.Verschieben Sie die Anwendung in die Finder-Symbolleiste, während Sie Folgendes gedrückt halten ⌘:
Getan !
Sie können das Symbol im Finder ändern, indem Sie den Anweisungen hier folgen (ändern Sie das Symbol der mit Automator erstellten Anwendung).
quelle
Dies können Sie mit der Servicefunktion tun.
Die folgende Website enthält ein Beispiel für einen solchen Service: http://blog.leenarts.net/2009/09/03/open-service-here/
quelle
Sie können eine beliebige Datei oder einen Ordner aus dem Finder in ein Terminalfenster ziehen, um eine Zeichenfolge des absoluten Pfads der Datei oder des Ordners einzufügen.
Dies funktioniert bei jeder Standardinstallation (mindestens bis 10.4 Tiger [ ¿vielleicht früher? ]), Ohne dass zusätzliche Software erforderlich ist, um die Einstellungen zu ändern, die Ihren nicht-technischen Freund später aus dem Konzept bringen können, wenn es sich um seinen handelt Mac, an dem Sie arbeiten. Dieser Trick funktioniert auch für alle Prozesse, die im Terminal ausgeführt werden, z. B. emacs oder vi (vorausgesetzt, Sie haben vi im entsprechenden Modus, oder Sie verwenden vi).
quelle
Versuchen Sie Folgendes: https://github.com/nmadhok/OpenInTerminal
Es funktioniert mit den Seitenleistenelementen des Finders, mehreren Ordner- / Dateiauswahlen und allem, was Sie sich vorstellen können. Wirklich einfach zu bedienen!
quelle
ShellHere
http://etresoft.org/shellhere.html - Etresoft und John Daniel
Ich weiß nicht, ob es über ein Kontextmenü erreichbar ist, aber ich behalte ShellHere in der Symbolleiste von Finder .
quelle
OnMyCommand
http://free.abracode.com/cmworkshop/on_my_command.html - Version 2.3 (2011-01-16)
Screenshot etc. unter http://www.wuala.com/grahamperrin/public/2011/07/31/d/?mode=gallery
Wird von mir auf Snow Leopard installiert und verwendet, bevor auf Lion aktualisiert wird. Ich kann noch nicht sagen, ob Version 2.3 mit Lion kompatibel ist.
quelle
Sie können die App, die ich entwickelt habe , FinderGo , die Open Source und einfach zu bedienen ist
quelle
Ich benutze dies seit Jahren http://openterminal.quentin.paris/
Einfach mit der rechten Maustaste auf irgendwo Finder klicken, Open Terminal wählen
quelle
OpenTerminal
quelle