Frage

Gibt es etwas ähnliches, um die "Eingabeaufforderung Hier Öffnen" Windows Powertoy für Mac OS?Ich habe ein paar plugins, die durch eine google-Suche, sondern wollte sehen, was funktioniert am besten für Entwickler, die es gibt.

War es hilfreich?

Lösung

Wie von Mac OS X Lion 10.7, Terminal enthält genau diese Funktionalität als Service. Wie bei den meisten Dienstleistungen, sind diese standardmäßig deaktiviert, so dass Sie dies ermöglichen, müssen sie im Menü Dienst erscheinen zu lassen.

  

Systemeinstellungen> Tastatur> Shortcuts> Dienste

Aktivieren Neuer Terminal im Ordner . Es gibt auch Neuen Terminal Tab im Ordner , die eine Registerkarte in den vordersten Terminal-Fenstern erstellen werden (falls vorhanden, sonst wird es ein neues Fenster erstellen). Diese Dienste arbeiten in allen Anwendungen, nicht nur Finder, und sie arbeiten auf Ordner sowie absolute Pfadnamen in Text ausgewählt.

Sie können sogar Befehlstasten zuweisen.

Die Dienstleistungen werden im Dienste Untermenü jedes Anwendungsmenü und im Kontextmenü (Control-Klick oder Rechtsklick auf einen Ordner oder Pfadnamen).

Der Neuer Terminal im Ordner Service wird aktiv , wenn Sie einen Ordner im Finder auswählen. Sie können nicht einfach haben Sie den Ordner öffnen und den Dienst „in place“ laufen. Gehen Sie zurück zu den übergeordneten Ordner, wählen Sie den entsprechenden Ordner, aktivieren Sie den Dienst über das Dienste-Menü oder Kontextmenü.

Darüber hinaus Lion-Terminal wird ein neues Terminal-Fenster öffnen, wenn Sie einen Ordner (oder Pfad) auf den Terminal-Programm-Icon ziehen, und Sie können auch auf die Tab-Leiste eines vorhandenes Fenster ziehen, um eine neue Registerkarte zu erstellen.

Schließlich, wenn Sie einen Ordner oder Pfadnamen auf eine Registerkarte (in der Tab-Leiste) und der Vordergrundprozess ist die Schale ziehen, wird es automatisch einen „cd“ Befehl ausführen. (Ziehen in die Terminal-Ansicht in der Registerkarte lediglich fügt den Pfad auf seinem eigenen, wie in älteren Versionen des Terminals.)

Sie können auch über die Befehlszeile tun dies oder ein Shell-Skript:

open -a Terminal /path/to/folder

Dies ist die Befehlszeilenäquivalent einen Ordner / Pfad auf das Terminal-Anwendung Symbol ziehen.

Auf einem verwandten beachten, Lion-Terminal hat auch neue Services für aufzublicken Mann Seiten: Öffnen Manpage im Terminal zeigt das ausgewählte Manpage Thema in einem neuen Terminalfenster und Suchen Mann Seiten in Terminal führt "apropos" auf den ausgewählten Text. Die ehemalige versteht auch Manpage Verweise ( "open (2)"), Manpage Befehlszeilenargumente ( "2 offen") und Mann-URLs ( "x-man-Seite: // 2 / open").

Andere Tipps

Dieses:

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

Es ist eine kleine Anwendung, die Sie in die Finder Symbolleiste ziehen, wird das Symbol in sehr schön passt. Es arbeitet mit dem Terminal, xterm (unter X11), iterm.

Eine Anwendung, die ich unentbehrliche als Alternative gefunden haben, ist dterm , das ist ein wirklich öffnet Mini-Anschluss direkt in Ihrer Anwendung. Außerdem funktioniert es mit so ziemlich alles da draußen -. Finder, XCode, PhotoShop, etc.

Klarstellung (Danke @ vgm64): Wenn Sie bereits im Terminal sind, auf diese Weise können Sie schnell auf die oberste Finder-Fenster ändern Terminal ohne zu verlassen. Auf diese Weise können Sie mit der Maus vermeiden verwenden.

Ich habe folgendes meine .bash_profile hinzugefügt, so kann ich cdff im Terminal jederzeit eingeben.

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 $@`"; };

Dies ist von diesem macosxhints.com Terminal-Hinweis .

Sehen Sie sich Terminal öffnen Hier . Es ist vielleicht die am ähnlichsten „Eingabeaufforderung hier öffnen“ sein. Früher habe ich >cdto und das ist sehr ähnlich, aber dies scheint auf den Umgang mit Spaces ein wenig besser zu sein ... aber nicht perfekt.

Was hat es das ist sehr schön ist die Fähigkeit, „ erkennen Schlüssel-down Ereignisse zu Beginn der Anwendung und verwendet sie das Verhalten des Skripts zu ändern “, so dass das Skript zu öffnen, ein neue Registerkarte im vordersten Terminal-Fenstern, wenn bei gedrückter Taste ⌘ aufgerufen. Ordentlich Trick.

Auch PCheese Antwort beachten; es ist wahrscheinlich nützliche für schwere Terminal-Benutzer!

Sie können aber auch ein Element aus dem Finder mit dem Befehl-C kopieren, springen in die Klemme (zum Beispiel unter Verwendung von Spotlight oder Quicksilver) geben ‚cd‘ und einfach mit dem Befehl-v Einfügen

Wenn Sie Big Cat Scripts installieren ( http://www.ranchero.com/bigcat/) können Sie Ihre eigenen Kontextmenü (rechte Maustaste) Elemente hinzuzufügen. Ich glaube nicht, es mit einem Open Terminal Hier Apple kommt aber ich benutze dieses Skript (was ich erinnere mich nicht ehrlich, wenn ich selbst geschrieben habe, oder von jemandem anderem Beispiel angehoben):


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

ähnliche Skripte kann auch Ihnen den vollständigen Pfad zu einer Datei bekommt rechte Maustaste, die noch nützlicher ist, finde ich.

Es ist ein bisschen mehr als nach dem Sie fragen, aber ich empfehle Cocoatech der Path Finder für jeden, der Finder hatte ein bisschen mehr Saft wünscht. Es enthält eine Schaltfläche in der Symbolleiste ein Terminal-Fenster für das aktuelle Verzeichnis zu öffnen, oder eine versenkbaren Scheibe mit einer Terminal-Befehlszeile am unteren Rande jeden Fensters Finder. Und viele andere Funktionen, die jetzt kann ich nicht leben. Sehr reife, stabile Software. http://cocoatech.com/

Ok, ich weiß, dass dies ein bisschen spät ist...vielleicht ist diese alternative nicht mehr verfügbar war zum Zeitpunkt des Schreibens der post?

Trotzdem habe ich gefunden, dass die Installation des pos-Paket über Fink (eine Voraussetzung in diesem Fall, vielleicht gibt es etwas ähnlich für diejenigen, die verwendet MacPorts?) auf die einfachste Lösung sein.Erhalten Sie zwei Befehle:

  1. posd - gibt das aktuelle Verzeichnis das vorderste Finder-Fenster (für die Sie vermutlich einen alias cdf=cd posd)
  2. fdc - wechselt das aktuelle Verzeichnis das vorderste Finder-Fenster, um das Terminal pwd.Dies ist leicht Verschieden von 'öffnen .", die immer öffnet ein neues finder-Fenster.

Ja, Sie haben, um Schalter in das Terminal-Fenster, bevor Sie zu schreiben cdf, aber ich nehme an, das ist Recht günstig im Vergleich zu das klicken auf eine Schaltfläche in der Finder-Symbolleiste.Und es funktioniert mit iTerm, müssen Sie nicht herunterladen müssen ein separates Finder-Symbolleiste auf die Schaltfläche, öffnet sich ein iTerm-Fenster.Dies ist der gleiche Ansatz, wie vorgeschlagen, durch PCheese, aber Sie haben nicht zu unübersichtlich dein .bash_profile.

Wenn Sie wie ich Sie auf die Finder-Symbolleiste zu deaktivieren, fügt dieser Dienst ein Element in jeden Kontextmenü des Ordners: http://blog.leenarts.net/2009/09/03/open-service-here/

Auf diese Weise können Sie auch einen beliebigen Ordner Sie im Finder Baumansicht sehen öffnen.

ich meistens mit dieser Funktion:

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

Sie können auch eine Verknüpfung zu einem Skript wie die unten vergeben lassen.

Um eine bestehende Registerkarte Wiederverwendung oder ein neues Fenster (Terminal) erstellen:

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

Um eine bestehende Registerkarte Wiederverwendung oder einen neuen Tab (Terminal) erstellen:

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

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 zwei Vorteile im Vergleich zu den Zusatzleistungen in 10,7:

  • Sie nutzen die Ordner auf der Titelleiste statt Sie benötigen zunächst einen Ordner auszuwählen.
  • Sie wiederverwenden die vordersten Register, wenn es nicht belegt ist, z.B. Ausführen eines Befehls, einen Mann Seite angezeigt wird, oder Emacs ausgeführt wird.

Es ist ein Fehler in der Apple auf OSX 10.6. (2 Terminal Fenster geöffnet). Ich reparierte dies durch den engen Befehl nach activate hinzufügen. Diese schließen die ersten Terminal-Fenster.

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top