Чи є комбінація клавіш (гаряча клавіша) для відкриття терміналу в macOS?


125

Один з моїх основних інструментів, який використовується для програмування, - це мій термінал. Це робить мій процес програмування більш ефективним, коли я в змозі швидко відкрити вікно терміналу.

В Ubuntu я використовував ( window+ Alt+ T) для відкриття терміналу. Але зараз я використовую Macbook у своєму програмуванні.

Іноді я використовую Spotlight для пошуку "Терміналу" і натискаю Enter.

Я хотів би знати, чи можу я призначити гарячу клавішу для цього.

Дякую


33
Я голосую за повторне відкриття цього питання, оскільки воно підпадає під "інструменти, які використовуються насамперед для програмування". Програмісти використовують термінал насамперед для виконання завдань, пов'язаних з програмуванням.
Грег Копф

1
@JonKiparsky Питання полягає у тому, щоб Термінал десь був відкритий та відкрили нове вікно, коли в центрі уваги інша програма.
Квентін Прадет

4
Просто тому, що я думаю, що це смішно ... Я повторюю те, що заявив @GregKopff ... ", якщо вони безпосередньо не включають інструменти, які використовуються головним чином для програмування" ... Gopal Prasad, OP, чітко говорить: "Один з моїх основних інструментів, використовуваних для програмування - це мій Термінал ". Ніби давай .. рішення цього дуже цінного.
mmr118

1
Це цілком правильне питання! Можливо, багато людей, які приїжджають з Linux (використовуючи настільні комп’ютери, такі як Unity, XFCE, Cinnamon, MATE тощо), шукають подібну функціональність. Висновки доказують інтерес.
Сократ

iTerm2 . Я не намагаюся бути вибагливим, серйозно, просто використовую iTerm2.
Бенджамін Р

Відповіді:


127

Я перевірив наступну процедуру в macOS Mojave 10.14.6 (18G3020).

Запустіть автоматизатор. Створіть документ типу "Швидка дія":

швидкий шаблон дії

(У старих версіях macOS використовуйте шаблон "Сервіс".)

У новий документ "Автоматизатор" додайте дію "Запустити AppleScript". (Ви можете ввести "запустити яблучний скрипт" у поле пошуку вгорі списку дій, щоб знайти його.) Ось AppleScript для вставки в дію:

on run {input, parameters}
    tell application "Terminal"
        if it is running then
            do script ""
        end if
        activate
    end tell
end run

Встановіть спливаюче вікно "Workflow получава" на "no input". Це повинно виглядати приблизно так:

робочий процес з яблучним сценарієм

Збережіть документ із назвою «Новий термінал». Потім перейдіть до меню Автоматизатор (або меню програми в будь-якій запущеній програмі) та відкрийте підменю Служби. Тепер вам слід побачити швидку дію "Новий термінал":

Новий пункт меню служби обслуговування терміналів

Якщо натиснути пункт меню «Новий термінал», ви отримаєте діалогове вікно:

Діалогове вікно дозволу

Натисніть кнопку ОК, щоб дозволити виконання дії. Ви побачите це діалогове вікно один раз у кожній програмі, яка передує, коли ви використовуєте дію. Іншими словами, при першому використанні дії, коли Finder передує перед вами, ви побачите діалогове вікно. І коли ви вперше використовуєте дію, коли Safari передній, ви побачите діалогове вікно. І так далі.

Після натискання кнопки «ОК» у діалоговому вікні «Термінал» повинен відкрити нове вікно.

Щоб призначити швидку дію клавіатури , виберіть пункт «Налаштування послуг…» у меню Сервіси. (Або запустіть Системні налаштування, виберіть панель Клавіатура, потім виберіть вкладку Ярлики, а потім виберіть Служби зі списку ліворуч. Клацніть по ньому, і ви побачите кнопку "Додати ярлик":

додати швидку кнопку

Натисніть кнопку та натисніть бажану комбінацію клавіш. Потім почухайте голову, оскільки (коли я її спробував) знову з'являється кнопка Додати ярлик. Але натисніть кнопку ще раз, і ви побачите ярлик:

набір ярликів клавіатури

Тепер ви повинні мати можливість натискати комбінацію клавіш у більшості випадків, щоб отримати нове вікно терміналу.


9
Ну мені подобається ваша відповідь, навіть якщо хтось із людей не любить це питання! :-)
Марк Сетчелл

3
Це чудово працює для мене, за винятком випадків, коли додаток Terminal ще не запущено. У такому випадку я отримую два нових вікна Терміналу. Я виправив це, змінивши AppleScript на наступне: під час запуску {введення, параметри} скажіть програмі "Термінал", якщо він запущений, тоді виконайте сценарій "" завершити, якщо активувати кінець, скажіть, введіть кінець вхідного запуску
chrisdembia

3
@robmayoff У мене виникли проблеми з реалізацією вашого сценарію. Це добре працює, коли я натискаю кнопку відтворення в Automator, однак, коли я натискаю завдання в розділі Служби, з’являється помилка The action "Run AppleScript" encountered an error. Будь-які ідеї? Я на OSX 10.12.1, якщо це має значення.
Аксим

7
У мене виникло питання, де воно відкриє вікно, якщо у Терміналу не було б вікон, але якщо таке вже було відкрите, він би просто обрав це вікно. Все, що я мав зробити, - це видалити слово "оболонка" зі сценарію.
Холден Льюїс

2
У мене виникає проблема копіювання Windows з останнім оновленням цієї відповіді. Я виправив це за наступним сценаріємon run {input, parameters} tell application "Terminal" if not (exists window 1) then reopen activate end tell end run
Jofsey

9

Як програмісти, ми хочемо якнайшвидшого, найбезпечнішого способу привести наші інструменти в порядок, щоб ми могли розпочати хакерство. Ось як я змусив його працювати в MacOS 10.13.1 (High Sierra):

  • Варіант 1: Перейти до System Preferences | Keyboard | Shortcut | Services. У Files and Foldersрозділі ввімкніть New Terminal at Folder та / або New Terminal Tab at Folderпризначте клавішу швидкого доступу. Конфігурація комбінації клавіш

  • Варіант 2: Якщо ви хочете, щоб клавіша швидкого доступу працювала в будь-якому місці, створіть нову Службу за допомогою Automator, а потім перейдіть до ярлика клавіатури, щоб призначити їй клавішу швидкого доступу. Відоме обмеження: не працювати з робочого столу

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

Примітки:

  • Якщо ярлик не працює, це може бути в конфлікті з іншим прив'язкою клавіш (а ОС не попередить вас), спробуйте щось інше, наприклад, якщо ⇧⌥T не працює, спробуйте ⇧⌘T.
  • Не правопис MacOS, це не обов'язково.

1
Варіант 2 працював для мене, дякую! Дивне обмеження роботи не з робочого столу. Також я б радив проти ⇧⌘T, оскільки це звичайний ярлик для "відкрити останню закриту вкладку"
Charlie G

2

iTerm2 - альтернатива Terminal - має можливість використовувати настроюваний гарячий клавіш для загальної системи для показу / приховування (спочатку встановлено значення Alt+ Space, відключено за замовчуванням)


Якщо говорити про iTerm2. Це те, що я намагаюся запустити, використовуючи автоматизатор, але я отримую цю "script"помилку, коли я вказую, tell application "iTerm2"як ви відкрили iTerm2?
блам

1
@blamb Я зазвичай відкриваю iTerm2 за допомогою цієї гарячої клавіші (вона повинна бути включена в налаштуваннях iTerm2 -> клавіші -> гаряча клавіша). Я ніколи не пробував автоматизатор.
Віктор

Щоб отримати докладнішу інформацію про налаштування цього питання, дивіться цю відповідь: superuser.com/a/1259726
Бенджамін R
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.