Як я можу відкрити вікно терміналу безпосередньо з мого поточного місцезнаходження Finder?


111

Мені було цікаво, чи є я, чи можу я клацнути правою кнопкою миші всередині будь-якого примірника вікна "Finder", щоб у мене з'явився варіант, який говорить "Відкрити термінал тут". Це було б дуже корисно.



4
цей сайт повинен бути більш підходящим місцем для запитання
ericn

Відповіді:


134

Як і в Mac OS X Lion 10.7, Terminal надає Послуги для відкриття нового вікна або вкладки терміналу у вибраній папці Finder. Вони також працюють з абсолютними іменами шляхів, вибраними в тексті (у будь-якій програмі). Ви можете ввімкнути ці послуги за допомогою Системних налаштувань> Клавіатура> Комбінації клавіш> Послуги . Шукайте "Новий термінал у папці" та "Нова вкладка терміналу в папці". Ви також можете призначити їм клавіші швидкого доступу.

Крім того, тепер ви можете перетягнути папки (та імена шляхів) на піктограму програми Terminal, щоб відкрити нове вікно терміналу, або на панель вкладок у вікні терміналу, щоб створити нову вкладку у цьому вікні. Якщо перетягнути на вкладку (а не на термінальний вигляд), вона виконає повну cdкоманду для переходу до цього каталогу без додаткового введення тексту.

Як і в OS X Mountain Lion 10.8, перетягування команд у термінал також виконає повну cdкоманду.

Примітка. Сервіс "Новий термінал у папці" стане активним, коли ви виберете папку в Finder . Ви не можете просто відкрити папку та запустити службу "на місці". Поверніться до батьківської папки, виберіть відповідну папку та активуйте послугу через меню Сервіси або контекстне меню.


2
"Крім того, тепер ви можете перетягнути папки (та імена шляхів) на піктограму програми Terminal, щоб відкрити нове вікно терміналу", - ви жартуєте мені? це круто! :)
філ

3
У Mavericks 10.9.4 - ярлики не працюють для мене. Дякуємо за підказку перетягування :)
amar

1
@amar Не могли б ви поділитися з нами тим, що ви зробили? Також зламаний для мене в 10.10
OJFord

2
@Olive - після того, як я перейти на Yesomite ярлики більше не працювали для мене :(
Amar

4
Одне, що я помітив, і це стосується El Capitan, це те, що вам потрібно вибрати папку в Finder (одним клацанням миші на папці, яку ви бачите всередині пошуку). Я очікував, що це спрацює - це відкриє вікно терміналу в поточній папці. Насправді вам потрібно вибрати папку у вікні.
sillygwailo

19

Рішення ваших проблем називається Go2Shell, і воно робить саме те, що ви описуєте. Ви можете знайти його в App Store, а найкраще ... це абсолютно безкоштовно.

Go2Shell


Якщо ви хочете використовувати iTerm замість Go2Shell, перегляньте цю відповідь, щоб переглянути налаштування . Або коротше, введіть open -a Go2Shell --args configдля створення конфігурації.
Джеромі Англім

@jherran, здається, зараз все нормально
Колас

1
Остання версія не може бути встановлена ​​через магазин додатків, але з їх веб-сайту zipzapmac.com/Go2Shell або від brew cask install go2shell.
fiedl

мені вдалося встановити останню версію, v1.2.2 з магазину додатків apple / itunes, працює чудово
computingfreak

14

Інший підхід: DTerm , який надає плаваючу командну підказку у верхній частині вікна. Це працює в багатьох додатках, а не тільки в Finder.


13

CDD здається, що це саме те, що вам потрібно. Це міні-додаток, призначене для розміщення на панелі інструментів Finder, коли ви запустите його, воно відкриє вікно терміналу та cdпоточний каталог у Finder.


10

Для тих, хто використовує iTerm, синтаксис AppleScript змінив версію iTerm 3. Ось повна процедура, яку слід дотримуватися, щоб створити ярлик у Finder.

  1. Запустіть Автоматизатор.

  2. Виберіть "Застосування":

ілюстрація інструкцій

  1. Виберіть "запустити Applescript":

введіть тут опис зображення

  1. Вставте код нижче:

    -- 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
    

введіть тут опис зображення

  1. Клацніть "Файл" -> "Експорт", щоб експортувати як .appзбереження /Applications.

  2. Перемістіть програму на панелі значків Finder, утримуючи :

введіть тут опис зображення

Готово!

Ви можете змінити піктограму в Finder, дотримуючись тут інструкцій (змінити піктограму програми, яку ви створили з Automator).


9

Я в основному використовую цю функцію:

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.9 є помилка, коли служби, які отримують папки як вхідні дані, ніколи не відображаються в меню послуг у режимі перегляду стовпців. Якщо ви присвоїли вкладці Новий термінал у службі «Папка» клавіатурний ярлик, він не працює в режимі перегляду стовпців.
  • Вони використовують папку в рядку заголовка, а не вимагають, щоб ви спочатку обрали папку.
  • Вони використовують повторно передню вкладку, якщо вона не зайнята, наприклад, виконайте команду, відображайте довідкову сторінку або запускаєте emacs.

Якщо ви використовуєте 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власності.



3

Ви можете перетягнути будь-який файл або папку з пошуку у вікно терміналу, щоб вставити рядок абсолютного шляху вказаного файлу чи папки.

Це працюватиме на будь-якому стандартному встановленні (принаймні, до 10.4 Тигр [ ¿можливо раніше? ]), Не потребуючи додаткового програмного забезпечення, натхнення налаштувань, будь-яке з яких пізніше може відробити вашого невмілого друга, якщо це станеться його / її Mac, над яким ви працюєте. Цей трюк також працює для будь-якого процесу, який працює у Терміналі, наприклад, emacs або vi (якщо припустити, що ви перебуваєте у відповідному режимі, або, проте, це ви, хто використовує vi).


3

Спробуйте це: https://github.com/nmadhok/OpenInTerminal

Він працює з елементами бічної панелі Finder, декількома виборами папок / файлів і всім, про що ви можете придумати. Дійсно простий у використанні!


Добре працює з високою сієррою!
Івелін

2

ShellHere

http://etresoft.org/shellhere.html - Etresoft та Джон Даніель

... клацніть правою кнопкою миші всередині будь-якого примірника вікна "Finder" ...

Я не знаю, чи можна досягти цього через контекстне меню, але я зберігаю ShellHere на панелі інструментів Finder .


Посилання не працює
Ivelin


1

Ви можете додаток, який я розробив FinderGo , який відкритий і простий у використанні



-1

 

    OpenTerminal


1
Мертве посилання :(. Це причина, чому лише відповіді на посилання мають коротке життя або слід регулярно їх перевіряти, щоб залишитися в живих.
дан

@daniel Замінено посиланням archive.org
гр
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.