14 ответов:
начиная с Mac OS X Lion 10.7, терминал включает именно эту функциональность в качестве сервиса. Как и в большинстве служб, они отключены по умолчанию, поэтому вам нужно будет включить его, чтобы он появился в меню служб.
Системные Настройки > Клавиатура > Ярлыки > Услуги
включить новый терминал в папку. Там же новая вкладка терминала в папке, который создаст вкладку в самом переднем окне терминала (если таковые имеются, иначе он создаст новое окно). Эти службы работают во всех приложениях, а не только в Finder, и они работают с папками, а также с абсолютными путями, выбранными в тексте.
вы даже можете назначить им клавиши управления.
службы отображаются в подменю службы каждого меню приложения и в контекстном меню (щелкните правой кнопкой мыши или щелкните папку или путь).
на новый терминал в папку сервис станет активным когда вы выбираете папку в Finder. Нельзя просто открыть папку и запустить службу "на месте". Вернитесь в родительскую папку, выберите соответствующую папку, а затем активируйте службу через меню "службы" или контекстное меню.
кроме того, Lion Terminal откроет новое окно терминала, если вы перетащите папку (или путь) на значок приложения терминала, а также вы можете перетащить на панель вкладок существующего окна, чтобы создать новую вкладку.
наконец, если вы перетащите папка или путь на вкладку (в панели вкладок) и процесс переднего плана-это оболочка, она автоматически выполнит команду "cd". (Перетаскивание в представление терминала на вкладке просто вставляет путь самостоятельно, как и в более старых версиях терминала.)
вы также можете сделать это из командной строки или скрипта:
open -a Terminal /path/to/folderэто эквивалент перетаскивания папки/пути в командной строке на значок приложения терминала.
в связи с обратите внимание, что Lion Terminal также имеет новые сервисы для поиска man-страниц:открыть man-страницу в терминале отображает выбранную тему справочной страницы в новом окне терминала и Поиск man-страниц в терминале выполняет "apropos" на выделенном тексте. Также человек поймет страницы ссылок ("открыть(2)"), человек команды страницы аргументов строка ("2 открытых") и человек адреса страниц ("х-man-страницы://2/Открыть").
Это:
https://github.com/jbtule/cdto#cd-to
Это небольшое приложение, которое вы перетаскиваете на панель инструментов Finder, значок очень хорошо вписывается. Он работает с терминалом, xterm (под X11), iterm.
приложение, которое я нашел незаменимым в качестве альтернативы DTerm, который фактически открывает мини-терминал прямо в приложении. Кроме того, он работает практически со всем - Finder, XCode, PhotoShop и т. д.
уточнение (спасибо @vgm64): если вы уже находитесь в терминале, это позволяет быстро перейти к самому верхнему окну Finder, не выходя из терминала. Таким образом, вы можете избежать использования мыши.
я добавил следующее в мой
.bash_profileТак что я могу типаcdffв терминале в любое время.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 $@`"; };
проверить Открыть Терминал Здесь. Это может быть наиболее похоже на " Открыть командное окно Здесь.- Я использовал
>cdtoи это очень похоже, но это, кажется, немного лучше справляется с пространствами... но не идеально.то, что он имеет, что очень приятно, это способность"обнаружение ключевых событий в начале приложения и использовать их для изменения поведения скрипта " позволяет скрипту открыть новую вкладку в самом переднем окне терминала при вызове удерживая клавишу⌘. Ловкий трюк.
также обратите внимание на ответ PCheese; это, вероятно, более полезно для тяжелых пользователей терминалов!
есть обновленная версия очень хороший и тонкий Открыть Терминал Здесь сообщение от vgm64 и d0k. Изменение было сделано Джеймс Дэвид Лоу. Он опубликовал новую версию его сайт. Просто скачайте OpenTerminalHere.zip, распакуйте его, переместите пакет в папку библиотеки/скриптов и перетащите его оттуда на панель инструментов Finder.
что в нем особенного, так это то, что он всегда открывает новые вкладка если терминал.окно приложения уже открыто. Очень полезно! Я также отметил, что стиль кнопки приложения лучше подходит для поиска снежного барса.стиль приложения, чем cdto написал удалено сделал.
кроме того, вы можете скопировать элемент из finder с помощью команды-C, перейти в терминал (например, с помощью Spotlight или QuickSilver) типа " cd " и просто вставить с помощью команды-v
Я создал пакет с 3 приложениями для панели инструментов finder. Другие два приложения делают:
- открыть Textmate с текущим выбором
- откройте GitX с текущей папкой
для получения дополнительной информации см. здесь: http://nslog.de/posts/71
Если вы устанавливаете Скрипты Big Cat (http://www.ranchero.com/bigcat/) Вы можете добавить свои собственные пункты контекстного меню (щелчок правой кнопкой мыши). Я не думаю, что он поставляется с открытым терминалом здесь applescript, но я использую этот скрипт (который я честно не помню, написал ли я сам или поднял с чужого примера):
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
подобные скрипты также могут дать вам полный путь к файлу по щелчку правой кнопкой мыши, что еще более полезно, я нахожу.
Это немного больше, чем вы просите, но я рекомендую Cocoatech Finder путь для тех, кто желает Искатель немного больше сока. Он включает в себя кнопку панели инструментов, чтобы открыть окно терминала для текущего каталога, или выдвижную панель с командной строкой терминала в нижней части каждого окна Finder. Плюс много других особенностей, без которых я теперь не могу жить. Очень зрелое, стабильное программное обеспечение. http://cocoatech.com/
Ок, я понимаю, что это немного поздно... может быть, эта альтернатива не была доступна на момент написания поста?
в любом случае, я нашел установку пакета pos через Fink (обязательное условие в этом случае, может быть, есть что-то подобное для тех, кто использует MacPorts?) будет самым простым решением. Вы получаете две команды:
- posd-который дает текущий каталог самого переднего окна Finder (для которого вы предположительно делаете псевдоним cdf=cd posd)
- fdc-который переключает текущий каталог самого переднего окна Finder на терминал pwd. Это немного отличается от открытого .- что всегда открывает новое окно поиска.
да, вам нужно переключиться на окно терминала перед написанием cdf, но я полагаю, что это довольно дешево по сравнению с нажатием кнопки на панели инструментов Finder. И он также работает с iTerm, вам не нужно загружать отдельную кнопку панели инструментов Finder, которая открывает окно iTerm. Этот это тот же подход, что и предложенный PCheese, но вам не нужно загромождать ваш .файл.
Если вы, как и я, отключите панель инструментов Finder, эта служба добавит элемент в контекстное меню каждой папки:http://blog.leenarts.net/2009/09/03/open-service-here/
Это также позволяет открыть любую папку, которую вы видите в виде дерева Finder.
Я в основном использую эту функцию:
cf() { cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')" }вы также можете назначить ярлык для сценария, как показано ниже.
использовать существующую вкладку или создать новое окно (терминал):
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использовать существующую вкладку или создать новую вкладку (терминал):
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всегда создавайте новую вкладку (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первые два скрипта имеют два преимущества по сравнению с сервисами, добавленными в 10.7:
- они используют папки в строке заголовка вместо того, чтобы выбрать папку.
- они повторно используют самую переднюю вкладку, если она не занята, например, запуск команды, отображение справочной страницы или запуск emacs.
есть ошибка в AppleScript на OSX 10.6. (2 окна терминала открыты). Я исправил это, добавив команду закрыть после активации. Это закрыть первое окно терминала.
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
Comments