Есть ли что-то похожее на «Открыть окно командной строки» Windows Powertoy для Mac OS? Я нашел пару плагинов через поиск в Google, но хотел посмотреть, что лучше всего подходит для разработчиков.
Есть ли что-то похожее на «Открыть окно командной строки» 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»).
Эта:
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 $@`"; };
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, но я использую этот скрипт (который я честно не помню, написал ли я сам или взял из чужого примера):
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?) - самое простое решение. Вы получаете две команды:
Да, вы должны переключиться в окно терминала перед написанием cdf, но я полагаю, это довольно дешево по сравнению с нажатием кнопки на панели инструментов Finder. И это также работает с iTerm, вам не нужно загружать отдельную кнопку панели инструментов Finder, которая открывает окно iTerm. Это тот же подход, который предлагает PCheese, но вам не нужно загромождать свой .bash_profile.
Если, как и я, вы отключаете панель инструментов 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:
В 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