Otwórz terminal tutaj w Mac OS finder [zamknięty]

Czy jest coś podobnego do" Otwórz okno poleceń " Windows Powertoy dla Mac OS? Znalazłem kilka wtyczek za pośrednictwem wyszukiwarki google, ale chciałem zobaczyć, co działa najlepiej dla programistów.

Author: Jonas, 2009-01-07

14 answers

[1]}Od Mac OS X Lion 10.7 Terminal zawiera dokładnie tę funkcjonalność jako usługę. Podobnie jak w przypadku większości usług, są one domyślnie wyłączone, więc musisz je włączyć, aby pojawiły się w menu Usługi.

Preferencje Systemowe > Klawiatura > Skróty > Usługi

Włącz nowy Terminal w folderze . Istnieje również Nowa karta Terminal w folderze , która utworzy kartę w oknie terminala na samym początku (jeśli istnieje, w przeciwnym razie utworzy nowe okno). Usługi te działają we wszystkich aplikacjach, a nie tylko w Finderze, i działają na folderach, a także na bezwzględnych nazwach ścieżek zaznaczonych w tekście.

Można nawet przypisać im klucze poleceń.

Usługi są wyświetlane w podmenu Usługi każdego menu aplikacji oraz w menu kontekstowym(kliknij prawym przyciskiem myszy na folderze lub ścieżce).

Nowy Terminal w folderze usługa stanie się aktywna Po wybraniu folderu w Finderze. Nie można po prostu mieć folder Otwórz i uruchom usługę "na miejscu". Wróć do folderu nadrzędnego, wybierz odpowiedni folder, a następnie aktywuj usługę za pomocą menu Usługi lub menu kontekstowego.

Ponadto Lion Terminal otworzy nowe okno terminala, jeśli przeciągniesz folder (lub ścieżkę) na ikonę aplikacji Terminal, a także możesz przeciągnąć na pasek kart istniejącego okna, aby utworzyć nową kartę.

Wreszcie, jeśli przeciągniesz folder lub ścieżkę na kartę (na pasku kart), a proces pierwszoplanowy zostanie powłoka, automatycznie wykona polecenie "cd". (Przeciągnięcie do widoku terminala w zakładce tylko wstawia ścieżkę samodzielnie, tak jak w starszych wersjach terminala.)

Można to również zrobić z linii poleceń lub skryptu powłoki:

open -a Terminal /path/to/folder

Jest to odpowiednik wiersza poleceń przeciągnięcia folderu/ścieżki do ikony aplikacji terminala.

W związku z tym, Lion Terminal ma również nowe usługi do wyszukiwania stron podręcznika: otwórz stronę podręcznika w Terminal wyświetla wybrany temat strony podręcznika w nowym oknie terminala, a przeszukuje strony podręcznika w Terminalu wykonuje "apropos" na wybranym tekście. Pierwszy z nich rozumie również odwołania do stron podręcznika ("open(2)"), argumenty wiersza poleceń strony podręcznika ("2 open") i adresy URL stron podręcznika ("x-man-page://2/open").

 900
Author: Chris Page,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-16 18:43:45

To:

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

Jest to mała aplikacja, którą przeciągasz do paska narzędzi Findera, ikona pasuje bardzo ładnie. Współpracuje z terminalami, xterm (pod X11), iterm.

 153
Author: redacted,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-17 17:31:17

Aplikacja, którą uznałem za niezastąpioną alternatywą, to DTerm , która w rzeczywistości otwiera mini terminal bezpośrednio w Twojej aplikacji. Plus to działa z prawie wszystko tam-Finder, XCode, PhotoShop, itp.

 56
Author: Paul Alexander,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-19 07:26:06

Wyjaśnienie (dzięki @vgm64): jeśli jesteś już w Terminalu, pozwala to szybko przejść do najwyższego okna Findera bez opuszczania terminala. W ten sposób można uniknąć korzystania z myszy.

Dodałem następujący tekst do mojego .bash_profile, więc mogę wpisać cdff w terminalu w dowolnym momencie.

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

To jest z tego macosxhints.com końcówka podpowiedzi .

 38
Author: PCheese,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-04 19:35:47

Sprawdź Otwórz Terminal tutaj . Może być najbardziej podobny do "Otwórz okno poleceń tutaj."Użyłem >cdto i jest to bardzo podobne, ale wydaje się to być trochę lepsze w radzeniu sobie ze spacjami... ale nie idealnie.

To, co ma to, co jest bardzo miłe, to możliwość " wykrywania zdarzeń klawiszowych na początku aplikacji i używania ich do modyfikowania zachowania skryptu ", pozwalając skryptowi otworzyć nową kartę w oknie terminala z przodu, gdy jest wywoływany przez przytrzymanie klawisza down ⌘ key. Niezła sztuczka.

Zwróć również uwagę na odpowiedź PCheese ' a; prawdopodobnie jest ona bardziej przydatna dla ciężkich użytkowników terminali!

 14
Author: physicsmichael,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-13 04:28:48

Istnieje zaktualizowana wersja bardzo ładny i smukły open Terminal tutaj wysłany przez vgm64i d0k. Zmiany dokonał james david low . Opublikował nową wersję na swojej stronie . Wystarczy pobrać Openterminal here.zip, rozpakuj go, przenieś pakiet do folderu Biblioteka / skrypty i przeciągnij go stamtąd do paska narzędzi Findera.

To, co jest w nim szczególne, to to, że zawsze otwiera nową kartę, jeśli Terminal.okno aplikacji jest już otwórz. Bardzo przydatne! Zauważyłem również, że styl przycisku aplikacji lepiej pasuje do Wyszukiwarki Snow Leopard.styl aplikacji niż cdto wysłany przez zredagowany zrobił.

 12
Author: pklaus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-15 11:08:30

Możesz również skopiować element z Findera za pomocą polecenia-C, wskoczyć do terminala (np. używając Spotlight lub QuickSilver) wpisz 'cd' i po prostu wkleić za pomocą polecenia-v

 10
Author: Henrik Hartz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-07 14:35:36

Utworzyłem pakiet z 3 aplikacjami dla paska narzędzi Findera. Pozostałe dwie aplikacje robią:

  • Otwórz Textmate z bieżącym zaznaczeniem
  • Otwórz GitX z bieżącym folderem

Więcej informacji znajdziesz tutaj: http://nslog.de/posts/71

 4
Author: stigi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-05 14:23:50

Jeśli zainstalujesz Skrypty Big Cat ( http://www.ranchero.com/bigcat/) możesz dodać własne pozycje menu kontekstowego (kliknij prawym przyciskiem myszy). Nie wydaje mi się, że chodzi tu O otwarty Terminal applescript, ale używam tego skryptu (którego szczerze nie pamiętam, czy sam napisałem, czy wyciągnąłem z cudzego przykładu):


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

Podobne skrypty mogą również uzyskać pełną ścieżkę do pliku po kliknięciu prawym przyciskiem myszy, co jest jeszcze bardziej przydatne, jak sądzę.

 3
Author: iayork,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-10 17:07:54

To trochę więcej niż prosisz, ale polecam Cocoatech ' s Path Finder dla każdego, kto chciałby, aby Finder miał trochę więcej soku. Zawiera przycisk paska narzędzi do otwierania okna terminala dla bieżącego katalogu lub wysuwany panel z wierszem poleceń terminala u dołu każdego okna Findera. Plus wiele innych funkcji, bez których teraz nie mogę żyć. Bardzo dojrzałe, stabilne oprogramowanie. http://cocoatech.com/

 3
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-11 13:55:05

Ok, zdaję sobie sprawę, że to trochę za późno... może ta alternatywa nie była dostępna w momencie pisania postu?

W każdym razie znalazłem instalowanie pakietu pos przez Fink (warunek wstępny w tym przypadku, może jest coś podobnego dla tych, którzy używają MacPorts?) być najprostszym rozwiązaniem. Dostajesz dwa polecenia:

  1. posd-który podaje bieżący katalog okna Findera (dla którego prawdopodobnie tworzysz alias cdf=cd posd)
  2. fdc-które przełącza bieżący katalog okna Findera na terminal pwd. To nieco różni się od ' open .'który zawsze otwiera nowe okno Findera.

Tak, musisz przełączyć się do okna terminala przed napisaniem cdf, ale przypuszczam, że jest to dość tanie w porównaniu do kliknięcia przycisku na pasku narzędzi Findera. Działa również z iTerm, nie musisz pobierać oddzielnego przycisku paska narzędzi Findera, który otwiera okno iTerm. Jest to takie samo podejście, jakie proponuje PCheese, ale nie musisz się zaśmiecać .bash_profile.

 2
Author: Jonatan Lindén,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-06 17:08:23

Jeśli tak jak ja wyłączysz pasek narzędzi Findera, ta usługa doda element do menu kontekstowego każdego folderu: http://blog.leenarts.net/2009/09/03/open-service-here/

Pozwala to również na otwarcie dowolnego folderu, który widzisz w widoku drzewa Findera.

 2
Author: joachim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-06 13:56:32

Używam głównie tej funkcji:

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

Możesz również przypisać skrót do skryptu, jak te poniżej.

Użyj ponownie istniejącej karty lub utwórz nowe okno (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

Użyj ponownie istniejącej karty lub utwórz nową kartę (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

Zawsze Utwórz nową kartę (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

Pierwsze dwa skrypty mają dwie zalety w porównaniu z usługami dodanymi w 10.7:

  • używają folderu na pasku tytułu zamiast wymagać najpierw wybierz folder.
  • używają ponownie zakładki z przodu, jeśli nie jest zajęta, np. uruchamiając polecenie, wyświetlając stronę podręcznika lub uruchamiając Emacsa.
 1
Author: user495470,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-18 07:28:58

Jest błąd w Applescripcie na OSX 10.6. (2 otwarte okna terminala). Naprawiłem to, dodając polecenie Zamknij po aktywacji. To zamknij pierwsze okno terminala.

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
 0
Author: Bernhard Essl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-30 11:18:40