Czy istnieje coś podobnego do Windows Powertoy „Otwórz okno poleceń tutaj” dla Mac OS? Znalazłem kilka wtyczek w wyszukiwarce Google, ale chciałem zobaczyć, co najlepiej działa dla programistów.
Czy istnieje coś podobnego do Windows Powertoy „Otwórz okno poleceń tutaj” dla Mac OS? Znalazłem kilka wtyczek w wyszukiwarce Google, ale chciałem zobaczyć, co najlepiej działa dla programistów.
Odpowiedzi:
Począwszy od systemu Mac OS X Lion 10.7, terminal zawiera dokładnie tę funkcję jako usługę. Podobnie jak w przypadku większości usług, są one domyślnie wyłączone, dlatego musisz włączyć tę opcję, aby pojawiła się w menu usług.
Preferencje systemowe> Klawiatura> Skróty> Usługi
Włącz nowy terminal w folderze . W folderze znajduje się także Nowa karta terminala , która utworzy kartę w oknie terminala z przodu (jeśli istnieje, w przeciwnym razie utworzy nowe okno). Usługi te działają we wszystkich aplikacjach, nie tylko w Finderze, i działają na folderach, a także na bezwzględnych ścieżkach wybranych w tekście.
Możesz nawet przypisać im klawisze poleceń.
Usługi pojawiają się w podmenu Usługi każdego menu aplikacji oraz w menu kontekstowym (kliknij z wciśniętym klawiszem Control lub prawym przyciskiem myszy folder lub nazwę ścieżki).
Usługa Nowy terminal w folderze stanie się aktywna po wybraniu folderu w Finderze. Nie można po prostu otworzyć folderu i uruchomić usługi „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 nazwę ścieżki) na ikonę aplikacji Terminala, a także możesz przeciągnąć na pasek zakładek istniejącego okna, aby utworzyć nową kartę.
Wreszcie, jeśli przeciągniesz folder lub nazwę ścieżki na kartę (na pasku kart), a proces pierwszego planu jest powłoką, automatycznie wykona polecenie „cd”. (Przeciągnięcie do widoku terminala na karcie powoduje jedynie wstawienie nazwy ścieżki, tak jak w starszych wersjach terminalu).
Możesz to również zrobić z wiersza poleceń lub skryptu powłoki:
open -a Terminal /path/to/folder
Jest to odpowiednik wiersza polecenia przeciągania folderu / nazwy ścieżki na ikonę aplikacji Terminala.
W powiązanej notatce Lion Terminal ma także nowe Usługi wyszukiwania stron podręcznika : Otwarta strona podręcznika w Terminalu wyświetla wybrany temat strony podręcznika w nowym oknie terminalu, a strony wyszukiwania podręcznika w Terminalu wykonują „apropos” na zaznaczonym tekście. Ten pierwszy rozumie także 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”).
To:
https://github.com/jbtule/cdto#cd-to
Jest to mała aplikacja, którą przeciągasz na pasek narzędzi Findera, ikona bardzo ładnie pasuje. Działa z Terminalem, Xterm (pod X11), iterm.
Aplikacja, którą uznałem za niezbędną jako alternatywę, to DTerm , która faktycznie otwiera mini terminal bezpośrednio w Twojej aplikacji. Dodatkowo działa z prawie wszystkim - Finder, XCode, PhotoShop itp.
Wyjaśnienie (dzięki @ vgm64): jeśli jesteś już w terminalu, pozwala to szybko przejść do najwyższego okna Findera bez opuszczania terminalu. W ten sposób możesz uniknąć używania myszy.
Dodałem następujące, aby .bash_profile
móc cdff
w dowolnym momencie wpisać Terminal.
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 tej wskazówki macosxhints.com Terminal .
pwd
, ale o cd
katalog, w którym Finder jest otwarty.
Sprawdź Open 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ę, że jest to trochę lepsze w radzeniu sobie z Przestrzenią ... ale nie jest idealne.
To, co ma, jest bardzo miłe, to możliwość „ wykrycia zdarzeń powodujących naciśnięcie klawisza na początku aplikacji i użycie ich do zmodyfikowania zachowania skryptu ”, umożliwiając skryptowi otwarcie nowej karty w najbardziej terminalowym oknie po wywołaniu przytrzymując klawisz ⌘. Sztuczka.
Zwróć także uwagę na odpowiedź PCheese; jest to prawdopodobnie bardziej przydatne dla ciężkich użytkowników terminali!
Dostępna jest zaktualizowana wersja bardzo ładnego i cienkiego Open Terminal Tutaj opublikowanego przez vgm64 i d0k . Zmiany dokonał James David Low . Opublikował nową wersję na swojej stronie . Wystarczy pobrać OpenTerminalHere.zip, rozpakować go, przenieść pakiet do folderu Library / Scripts i przeciągnąć go stamtąd na pasek narzędzi Findera.
Szczególne jest to, że zawsze otwiera nową kartę, jeśli okno Terminal.app jest już otwarte. Bardzo przydatne! Zauważyłem również, że styl przycisku aplikacji lepiej pasuje do stylu Snow Leopard Finder.app niż zrobił to cdto opublikowany przez redacted .
Możesz także skopiować element z wyszukiwarki za pomocą polecenia C, wskoczyć do terminala (np. Za pomocą Spotlight lub QuickSilver) i wpisać „cd” i po prostu wkleić za pomocą Command-v
Stworzyłem pakiet z 3 aplikacjami dla paska narzędzi wyszukiwarki. Pozostałe dwie aplikacje:
Aby uzyskać więcej informacji, zobacz tutaj: http://nslog.de/posts/71
Jeśli instalujesz skrypty Big Cat ( http://www.ranchero.com/bigcat/ ), możesz dodawać własne elementy menu kontekstowego (kliknięcie prawym przyciskiem). Nie wydaje mi się, żeby zawierał skrypt Apple Open Terminal Here, ale używam tego skryptu (którego nie pamiętam szczerze, jeśli sam to napisałem lub nie wziąłem za przykład kogoś innego):
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, uważam.
To trochę więcej, niż prosisz, ale polecam Cocoatech's Path Finder każdemu, kto chciałby, aby Finder miał trochę więcej soku. Zawiera przycisk paska narzędzi, aby otworzyć okno terminala dla bieżącego katalogu lub wysuwane okienko z wierszem poleceń terminalu na dole każdego okna Findera. Plus wiele innych funkcji, bez których nie mogę teraz żyć. Bardzo dojrzałe, stabilne oprogramowanie. http://cocoatech.com/
Ok, zdaję sobie sprawę, że jest trochę późno ... może ta alternatywa nie była dostępna w momencie pisania postu?
W każdym razie uważam, że zainstalowanie pakietu pos przez Fink (warunek w tym przypadku, może jest coś podobnego dla tych, którzy używają MacPorts?) Jest najłatwiejszym rozwiązaniem. Otrzymasz dwa polecenia:
Tak, musisz przejść do okna Terminal 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ć osobnego przycisku paska narzędzi Findera, który otwiera okno iTerm. Jest to takie samo podejście, jak zaproponowane przez PCheese, ale nie musisz zaśmiecać swojego .bash_profile.
Jeśli podobnie jak ja wyłączysz pasek narzędzi Findera, ta usługa dodaje element do menu kontekstowego każdego folderu: http://blog.leenarts.net/2009/09/03/open-service-here/
Pozwala to również otworzyć dowolny folder widoczny w widoku drzewa Findera.
Najczęściej używam tej funkcji:
cf() {
cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"
}
Możesz także przypisać skrót do skryptu, takiego jak te poniżej.
Ponownie użyj 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 twó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 wersji 10.7:
W skrypcie AppleScript w systemie OSX 10.6 występuje błąd. (2 otwarte okna terminali). Naprawiłem to, dodając polecenie zamknięcia po aktywacji. To zamknie 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