Мне было интересно, можно ли было щелкнуть правой кнопкой мыши внутри любого окна «Finder», чтобы у меня была опция «Открыть терминал здесь». Это было бы действительно полезно.
Мне было интересно, можно ли было щелкнуть правой кнопкой мыши внутри любого окна «Finder», чтобы у меня была опция «Открыть терминал здесь». Это было бы действительно полезно.
Ответы:
Начиная с Mac OS X Lion 10.7, Терминал предоставляет Сервисы для открытия нового окна терминала или вкладки в выбранной папке в Finder. Они также работают с абсолютными путями, выбранными в тексте (в любом приложении). Вы можете включить эти службы с помощью Системных настроек> Клавиатура> Сочетания клавиш> Службы . Ищите «Новый терминал в папке» и «Новая вкладка терминала в папке». Вы также можете назначить им сочетания клавиш.
Кроме того, теперь вы можете перетаскивать папки (и имена путей) на значок приложения «Терминал», чтобы открыть новое окно терминала, или на панель вкладок в окне терминала, чтобы создать новую вкладку в этом окне. Если вы перетащите на вкладку (а не в представление терминала), она выполнит полную cd
команду, чтобы переключиться на этот каталог без какой-либо дополнительной печати.
Начиная с OS X Mountain Lion 10.8, перетаскивание команд в терминал также выполнит полную cd
команду.
Примечание. Служба «Новый терминал в папке» станет активной при выборе папки в Finder . Вы не можете просто открыть папку и запустить службу «на месте». Вернитесь в родительскую папку, выберите соответствующую папку, затем активируйте службу через меню «Сервисы» или контекстное меню.
Решение ваших проблем называется Go2Shell, и оно делает именно то, что вы описываете. Вы можете найти его в App Store и, что самое приятное ... это абсолютно бесплатно.
open -a Go2Shell --args config
чтобы вызвать конфигурацию.
brew cask install go2shell
.
CDT кажется, что это именно то, что вам нужно. Это мини-приложение, предназначенное для размещения на панели инструментов Finder, при запуске которого открывается окно терминала и cd
в текущую директорию в Finder.
Для тех, кто использует iTerm, синтаксис AppleScript изменился в iTerm версии 3. Вот полная процедура, которую необходимо выполнить, чтобы создать ярлык в Finder.
Запустить Automator.
Выберите «Приложение»:
Вставьте код ниже:
-- get the current directory in Finder
on run {input, parameters}
tell application "Finder"
set _cwd to quoted form of (POSIX path of (folder of the front window as alias))
end tell
CD_to(_cwd)
end run
-- change directory in iTerm (version >= 3)
on CD_to(_cwd)
tell application "iTerm"
activate
try
set _window to first window
on error
set _window to (create window with profile "Default")
end try
tell _window
tell current session
write text "cd " & _cwd & ";clear;"
end tell
end tell
end tell
end CD_to
Нажмите «Файл» -> «Экспорт», чтобы экспортировать как .app
, сохранить его в /Applications
.
Переместите приложение на панель значков Finder, удерживая ⌘:
Готово !
Вы можете изменить значок в Finder, следуя приведенным здесь инструкциям (измените значок приложения, созданного с помощью Automator).
Я в основном использую эту функцию:
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:
Если вы используете 10.7 или 10.8, измените tell application "Finder" to set p to POSIX path of (insertion location as alias)
на:
tell application "Finder"
if exists Finder window 1 then
set p to POSIX path of (target of Finder window 1 as alias)
else
set p to POSIX path of (path to desktop)
end if
end tell
В 10.7 и 10.8 есть ошибка (но не в 10.9 или 10.6), когда Finder игнорирует окна, созданные после последнего перемещения фокуса в другое приложение и обратно при получении insertion location
свойства.
Вы можете сделать это с помощью функции сервиса.
Следующий сайт содержит пример такого сервиса: http://blog.leenarts.net/2009/09/03/open-service-here/
Вы можете перетащить любой файл или папку из поиска в окно терминала, чтобы вставить строку с указанным абсолютным путем к указанному файлу или папке.
Это будет работать при любой стандартной установке (по крайней мере, до 10.4 Tiger [ ¿возможно раньше? ]) Без необходимости в дополнительном программном обеспечении с нашими изменениями предпочтений, любое из которых может позже испугать вашего нетехого друга, если это окажется его / ее Mac, над которым вы работаете. Этот прием также работает для любого процесса, который выполняется в Терминале, например, emacs или vi (при условии, что у вас есть vi в соответствующем режиме, или, тем не менее, это делают люди, использующие vi).
Попробуйте это: https://github.com/nmadhok/OpenInTerminal
Он работает с элементами боковой панели Finder, множеством папок / файлов и всем, что только можно придумать. Действительно прост в использовании!
http://etresoft.org/shellhere.html - Etresoft и Джон Даниэль
... щелкните правой кнопкой мыши внутри любого окна "Finder" ...
Я не знаю, может ли это быть достигнуто через контекстное меню, но я держу ShellHere на панели инструментов Finder .
http://free.abracode.com/cmworkshop/on_my_command.html - версия 2.3 (2011-01-16)
Снимок экрана и т. Д. На http://www.wuala.com/grahamperrin/public/2011/07/31/d/?mode=gallery
Установлен и использован мной на Snow Leopard перед обновлением до Lion. Слишком скоро я скажу, совместима ли версия 2.3 с Lion.
Вы можете приложение, которое я разработал FinderGo , который с открытым исходным кодом и простой в использовании
Я использую это в течение многих лет http://openterminal.quentin.paris/
Просто щелкните правой кнопкой мыши в любом месте Finder, выберите Открыть терминал