Myślę, że tytuł mówi dokładnie, co chcę zrobić. Chcę skrót lub nawet przycisk w Finderze, który uruchamia nową kartę iTerm i zmienia lokalizację na lokalizację otwartą w Finderze. Jakoś open .
na odwrót. :-)
Dziękuję, Malax
Istnieje tutaj otwarty terminal AppleScript, który należy zmodyfikować, aby zamiast tego wywoływał iTerm. Ten post MacOSXHints również powinien być pomocny.
(Nie jestem na komputerze Mac, inaczej bym to przetestował).
Ten AppleScript działa dla mnie:
-- 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
Korzystając z innych odpowiedzi na tej stronie, stworzyłem aplikację, którą można przeciągnąć na pasek zadań wyszukiwarki.
Możesz pobrać go stąd: https://github.com/rc1/iTermTo
źródło
Jest on wbudowany w iTerm2 od wersji 3.1.0.
Aby skorzystać z tej funkcji:
w Finderze kliknij folder prawym przyciskiem myszy -> Usługi -> Nowe okno iTerm2 Tutaj
Uwaga:
Services
podmenu znajduje się na samym dole menu po kliknięciu prawym przyciskiem myszy.Odnośnik
Pod tym linkiem kliknij Pokaż starsze wersje , a następnie w iTerm2 3.1.0 kliknij Pokaż listę zmian i poszukaj usług , znajdziesz to:
źródło
Spójrz na
cdto
projekt hostowany na https://github.com/jbtule/cdto „Aplikacja Finder Toolbar, aby otworzyć bieżący katalog w terminalu (lub iTerm, X11). Ta aplikacja została zaprojektowana (w tym jej ikona) do umieszczenia w pasek narzędzi okna Findera ”.źródło
Dla kompletności, zanim znalazłem to pytanie, działało dla mnie:
Applescript Editor-> File-> Export-> File Format = .app
..app
na pasek narzędzi Findera.Powoduje to przycisk paska narzędzi Findera, który otwiera bieżący katalog w nowej
iTerm2
karcie. XtraFinder oferuje taki przycisk, ale otwiera nowe okna.Podobne rozwiązanie wykorzystujące usługi można znaleźć tutaj , które prowadzi do jeszcze bardziej powiązanych rozwiązań AppleScript:
Mój dostosowany AppleScript to:
To rozwiązanie zostało skomentowane w tym wątku dotyczącym przycisku .
Dzięki odpowiedzi iTermTo powyżej.
źródło
Wydaje mi się, że dzieje się tak, ponieważ elementy wewnętrzne iTerm się zmieniły, ale żadne z rozwiązań nie zadziałało. Co to był następujący kod:
Lub używając Automatora jako usługi wyszukiwania:
źródło
Dzięki iTerm:
Iterm Preferencje i w zakładce Profile przejdź do zakładki Ogólne, ustaw Working Directory na „Ponownie użyj katalogu poprzedniej sesji”.
źródło
Oto uproszczony skrypt, który zawsze otwiera nową kartę (np. Skrypt bulljit):
Jeśli chcesz, aby skrypt używał ponownie istniejących kart, zamień
tell current terminal
blok na coś takiego:Ale to nie zadziała, jeśli na przykład bieżąca sesja jest zajęta lub działa proces mniej lub vim.
Zawijanie skryptu w bloku try powoduje jego cichą awarię.
reopen
otwiera nowe okno terminala, jeśli nie ma widocznych okien lub jeśli tylko na przykład otwarte jest okno preferencji. Finder ma równieżinsertion location
właściwość, którą zwykle jesttarget of Finder window 1
pulpit. Ale w wersji 10.7 i późniejszych występuje błąd, który często odnosi się do innego okna niż okno z przodu.Niektóre potencjalne problemy ze skryptem bulljit:
front window
(window 1
), która może być oknem informacyjnym lub oknem preferencji.Finder window 1
zawsze będzie okno przeglądarki plików./
jeśli okno Findera znajdujące się z przodu wyświetla widok, który nie ma ścieżki (jak widok sieci).Wolę jednak używać takiej funkcji:
źródło