Есть ли что-то похожее на «Открыть окно командной строки» Windows Powertoy для Mac OS? Я нашел пару плагинов через поиск в Google, но хотел посмотреть, что лучше всего подходит для разработчиков.
Начиная с Mac OS X Lion 10.7, Terminal включает в себя именно эту функцию в качестве Сервиса. Как и в большинстве сервисов, по умолчанию они отключены, поэтому вам нужно включить это, чтобы оно появилось в меню сервисов.
Включить новый терминал в папке . В папке также есть новая вкладка терминала , которая создаст вкладку в самом верхнем окне терминала (если есть, в противном случае будет создано новое окно). Эти Сервисы работают во всех приложениях, а не только в Finder, и они работают с папками, а также с абсолютными путями, выбранными в тексте.
Вы даже можете назначить им клавиши управления.
Службы отображаются в подменю «Службы» каждого меню приложения и в контекстном меню (удерживая нажатой клавишу «Control» или «Щелчок правой кнопкой мыши» на папке или имени пути).
Служба « Новый терминал в папке» станет активной после выбора папки в Finder. Вы не можете просто открыть папку и запустить службу «на месте». Вернитесь в родительскую папку, выберите соответствующую папку, затем активируйте службу через меню «Сервисы» или контекстное меню.
Кроме того, Lion Terminal откроет новое окно терминала, если вы перетащите папку (или путь к файлу) на значок приложения терминала, а также вы можете перетащить на панель вкладок существующего окна, чтобы создать новую вкладку.
Наконец, если вы перетащите папку или имя пути на вкладку (в панели вкладок), а основной процесс - это оболочка, он автоматически выполнит команду «cd». (Перетаскивание в представление терминала на вкладке просто вставляет путь самостоятельно, как в более старых версиях Терминала.)
Вы также можете сделать это из командной строки или из сценария оболочки:
open -a Terminal /path/to/folder
Это эквивалент командной строки для перетаскивания папки / пути к значку приложения терминала.
Что касается примечания, у Lion Terminal также есть новые службы для поиска справочных страниц: при открытии справочной страницы в терминале отображается выбранная тема справочной страницы в новом окне терминала, а при поиске справочных страниц в терминале выполняется «уместно» для выбранного текста. Первый также понимает ссылки на справочную страницу («open (2)»), аргументы командной строки справочной страницы («2 open») и URL-адреса справочной страницы («x-man-page: // 2 / open»).
Это небольшое приложение, которое вы перетаскиваете на панель инструментов 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 $@`"; };
«open.» открывает новое окно Finder в текущем каталоге
jolvi
2
@jolvi это противоположно тому, что дает этот ответ. Смысл не в том, чтобы открыть окно поиска pwd, а cdв том каталоге, в котором открыт поиск.
Джонатан Ландрум
ах, извини, конечно ты прав.
Jolvi
14
Проверьте открытый терминал здесь . Это может быть больше всего похоже на «Открыть окно команд здесь». Я использовал, >cdtoи это очень похоже, но это, кажется, немного лучше иметь дело с пробелами ... но не идеально.
Очень приятно то, что он может « обнаруживать события нажатия клавиш при запуске приложения и использовать их для изменения поведения сценария », позволяя сценарию при вызове открывать новую вкладку в самом переднем окне терминала. удерживая клавишу ⌘. Аккуратный трюк.
Также обратите внимание на ответ PCheese; это, вероятно, более полезно для активных пользователей терминалов!
Здесь обновленная версия очень красивого и тонкого открытого терминала, размещенного vgm64 и d0k . Изменение было сделано Джеймсом Дэвидом Лоу . Он опубликовал новую версию на своем сайте . Просто скачайте OpenTerminalHere.zip, распакуйте его, переместите пакет в папку Library / Scripts и перетащите его оттуда на панель инструментов Finder.
Что особенного в этом то, что он всегда открывает новую вкладку, если окно Terminal.app уже открыто. Очень полезный! Я также отметил , что стиль кнопки приложения лучше подходит к стилю Snow Leopard Finder.app чем cdto разместил отредактированный сделал.
Это круто! Обратите внимание, что вы должны Ctrl + Drag (а не просто перетаскивать, как указано в посте выше) его на панель инструментов Finder. И тогда у вас есть значок ярлыка, который при нажатии будет терминал из любой папки.
Б. Надолсон
10
Кроме того, вы можете скопировать элемент из поиска с помощью команды-C, перейти в терминал (например, с помощью Spotlight или QuickSilver), набрав «cd», и просто вставить с помощью команды-v
Если вы устанавливаете скрипты Big Cat ( http://www.ranchero.com/bigcat/ ), вы можете добавить свои собственные элементы контекстного меню (щелчок правой кнопкой мыши). Я не думаю, что он поставляется с яблочным скриптом Open Terminal Here, но я использую этот скрипт (который я честно не помню, написал ли я сам или взял из чужого примера):
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 Path Finder для всех, кто хочет, чтобы у Finder было немного больше сока. Он включает кнопку панели инструментов для открытия окна терминала для текущего каталога или выдвижную панель с командной строкой терминала внизу каждого окна Finder. Плюс многие другие функции, без которых я сейчас не могу жить. Очень зрелое, стабильное программное обеспечение.
http://cocoatech.com/
Хорошо, я понимаю, что это немного поздно ... может быть, эта альтернатива не была доступна на момент написания поста?
В любом случае, я считаю, что установка pos-пакета через Fink (обязательное условие в данном случае, может быть, есть что-то подобное для тех, кто использует MacPorts?) - самое простое решение. Вы получаете две команды:
posd - который дает текущий каталог переднего окна Finder (для которого вы предположительно создаете псевдоним cdf = cd posd)
fdc - переключает текущий каталог самого переднего окна Finder на Terminal pwd. Это немного отличается от «открытого». который всегда открывает новое окно поиска.
Да, вы должны переключиться в окно терминала перед написанием cdf, но я полагаю, это довольно дешево по сравнению с нажатием кнопки на панели инструментов Finder. И это также работает с iTerm, вам не нужно загружать отдельную кнопку панели инструментов Finder, которая открывает окно iTerm. Это тот же подход, который предлагает PCheese, но вам не нужно загромождать свой .bash_profile.
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
Ответы:
Начиная с Mac OS X Lion 10.7, Terminal включает в себя именно эту функцию в качестве Сервиса. Как и в большинстве сервисов, по умолчанию они отключены, поэтому вам нужно включить это, чтобы оно появилось в меню сервисов.
Включить новый терминал в папке . В папке также есть новая вкладка терминала , которая создаст вкладку в самом верхнем окне терминала (если есть, в противном случае будет создано новое окно). Эти Сервисы работают во всех приложениях, а не только в Finder, и они работают с папками, а также с абсолютными путями, выбранными в тексте.
Вы даже можете назначить им клавиши управления.
Службы отображаются в подменю «Службы» каждого меню приложения и в контекстном меню (удерживая нажатой клавишу «Control» или «Щелчок правой кнопкой мыши» на папке или имени пути).
Служба « Новый терминал в папке» станет активной после выбора папки в Finder. Вы не можете просто открыть папку и запустить службу «на месте». Вернитесь в родительскую папку, выберите соответствующую папку, затем активируйте службу через меню «Сервисы» или контекстное меню.
Кроме того, Lion Terminal откроет новое окно терминала, если вы перетащите папку (или путь к файлу) на значок приложения терминала, а также вы можете перетащить на панель вкладок существующего окна, чтобы создать новую вкладку.
Наконец, если вы перетащите папку или имя пути на вкладку (в панели вкладок), а основной процесс - это оболочка, он автоматически выполнит команду «cd». (Перетаскивание в представление терминала на вкладке просто вставляет путь самостоятельно, как в более старых версиях Терминала.)
Вы также можете сделать это из командной строки или из сценария оболочки:
Это эквивалент командной строки для перетаскивания папки / пути к значку приложения терминала.
Что касается примечания, у Lion Terminal также есть новые службы для поиска справочных страниц: при открытии справочной страницы в терминале отображается выбранная тема справочной страницы в новом окне терминала, а при поиске справочных страниц в терминале выполняется «уместно» для выбранного текста. Первый также понимает ссылки на справочную страницу («open (2)»), аргументы командной строки справочной страницы («2 open») и URL-адреса справочной страницы («x-man-page: // 2 / open»).
источник
Эта:
https://github.com/jbtule/cdto#cd-to
Это небольшое приложение, которое вы перетаскиваете на панель инструментов Finder, значок очень хорошо вписывается. Работает с терминалом, xterm (под X11), iterm.
источник
Приложение, которое я нашел незаменимым в качестве альтернативы, - это DTerm , который фактически открывает мини-терминал прямо в вашем приложении. Кроме того, он работает практически со всем - Finder, XCode, PhotoShop и т. Д.
источник
Пояснение (спасибо @ vgm64): если вы уже находитесь в Терминале, это позволяет вам быстро перейти в самое верхнее окно Finder, не выходя из Терминала. Таким образом, вы можете избежать использования мыши.
Я добавил следующее к своему,
.bash_profile
чтобы я мог печататьcdff
в Терминале в любое время.Это из этой подсказки терминала macosxhints.com .
источник
pwd
, аcd
в том каталоге, в котором открыт поиск.Проверьте открытый терминал здесь . Это может быть больше всего похоже на «Открыть окно команд здесь». Я использовал,
>cdto
и это очень похоже, но это, кажется, немного лучше иметь дело с пробелами ... но не идеально.Очень приятно то, что он может « обнаруживать события нажатия клавиш при запуске приложения и использовать их для изменения поведения сценария », позволяя сценарию при вызове открывать новую вкладку в самом переднем окне терминала. удерживая клавишу ⌘. Аккуратный трюк.
Также обратите внимание на ответ PCheese; это, вероятно, более полезно для активных пользователей терминалов!
источник
Здесь обновленная версия очень красивого и тонкого открытого терминала, размещенного vgm64 и d0k . Изменение было сделано Джеймсом Дэвидом Лоу . Он опубликовал новую версию на своем сайте . Просто скачайте OpenTerminalHere.zip, распакуйте его, переместите пакет в папку Library / Scripts и перетащите его оттуда на панель инструментов Finder.
Что особенного в этом то, что он всегда открывает новую вкладку, если окно Terminal.app уже открыто. Очень полезный! Я также отметил , что стиль кнопки приложения лучше подходит к стилю Snow Leopard Finder.app чем cdto разместил отредактированный сделал.
источник
Кроме того, вы можете скопировать элемент из поиска с помощью команды-C, перейти в терминал (например, с помощью Spotlight или QuickSilver), набрав «cd», и просто вставить с помощью команды-v
источник
Я создал пакет с 3 приложениями для панели инструментов поиска. Два других приложения делают:
Для получения дополнительной информации см. Здесь: http://nslog.de/posts/71
источник
Если вы устанавливаете скрипты Big Cat ( http://www.ranchero.com/bigcat/ ), вы можете добавить свои собственные элементы контекстного меню (щелчок правой кнопкой мыши). Я не думаю, что он поставляется с яблочным скриптом Open Terminal Here, но я использую этот скрипт (который я честно не помню, написал ли я сам или взял из чужого примера):
Подобные сценарии могут также дать вам полный путь к файлу при щелчке правой кнопкой мыши, что, на мой взгляд, еще более полезно.
источник
Это немного больше, чем вы просите, но я рекомендую Cocoatech Path Finder для всех, кто хочет, чтобы у Finder было немного больше сока. Он включает кнопку панели инструментов для открытия окна терминала для текущего каталога или выдвижную панель с командной строкой терминала внизу каждого окна Finder. Плюс многие другие функции, без которых я сейчас не могу жить. Очень зрелое, стабильное программное обеспечение. http://cocoatech.com/
источник
Хорошо, я понимаю, что это немного поздно ... может быть, эта альтернатива не была доступна на момент написания поста?
В любом случае, я считаю, что установка pos-пакета через Fink (обязательное условие в данном случае, может быть, есть что-то подобное для тех, кто использует MacPorts?) - самое простое решение. Вы получаете две команды:
Да, вы должны переключиться в окно терминала перед написанием cdf, но я полагаю, это довольно дешево по сравнению с нажатием кнопки на панели инструментов Finder. И это также работает с iTerm, вам не нужно загружать отдельную кнопку панели инструментов Finder, которая открывает окно iTerm. Это тот же подход, который предлагает PCheese, но вам не нужно загромождать свой .bash_profile.
источник
Если, как и я, вы отключаете панель инструментов Finder, эта служба добавляет элемент в контекстное меню каждой папки: http://blog.leenarts.net/2009/09/03/open-service-here/
Это также позволяет открывать любую папку, которую вы видите в древовидном представлении Finder.
источник
Я в основном использую эту функцию:
Вы также можете назначить ярлык для скрипта, как показано ниже.
Повторно используйте существующую вкладку или создайте новое окно (Терминал):
Повторно используйте существующую вкладку или создайте новую вкладку (Терминал):
Всегда создавайте новую вкладку (iTerm 2):
Первые два скрипта имеют два преимущества по сравнению с сервисами, добавленными в 10.7:
источник
В AppleScript есть ошибка в OSX 10.6. (Открыты 2 оконных окна). Я исправил это, добавив команду закрытия после активации. Это закроет первое окно терминала.
источник