Могу ли я создать ярлык для открытия определенного приложения в OS X?

51

Я хочу создать сочетание клавиш, т.е. открыть Firefox, пока я работаю в другом приложении. Я знаю, что могу использовать ⌘ CMD+, Tкогда я в Firefox, чтобы открыть новую вкладку.

Я не нашел способ создать такие ярлыки в системных настройках.

Есть идеи?

Политикус
источник
1
То есть вы имеете в виду сочетания клавиш?
Рабарберски
Посмотрите на Сервисы в меню Приложения, у любого разумно написанного приложения Какао есть такие, и им могут быть назначены ключи. К сожалению, я думаю, что Firefox не написан, чтобы использовать их. Safari можно использовать здесь
user151019
Это не могло быть вариантом в 2011 году, когда вопрос был задан впервые, но теперь это довольно легко сделать с помощью Automator. См. Howtogeek.com/209725/… для обучения.
Эдвард Фальк,
Для меня довольно удивительно, что Apple, с ее хваленым юзабилити, не сочла нужным встроить в MacOS простой способ назначения сочетания клавиш для запуска приложения.
Теему Лейсти

Ответы:

44

Элементы Карабинера (10.12 и позже)

Karabiner перестал работать в 10.12 из-за изменений в архитектуре ядра, и Karabiner был переписан как Karabiner-Elements, который использует новый формат JSON для файлов конфигурации.

Теперь вы можете добавить следующее правило karabiner.json( https://pqrs.org/osx/karabiner/json.html ):

{
  "from": {
    "key_code": "t",
    "modifiers": {
      "mandatory": [
        "right_option"
      ]
    }
  },
  "to": [
    {
      "shell_command": "open -aterminal"
    }
  ],
  "type": "basic"
}

Это делает короткое нажатие правой клавиши команды открытия Emacs:

{
  "from": {
    "key_code": "right_command",
    "modifiers": {
      "optional": [
        "any"
      ]
    }
  },
  "to": [
    {
      "key_code": "right_command",
      "lazy": true
    }
  ],
  "to_if_alone": [
    {
      "shell_command": "open -aemacs"
    }
  ],
  "type": "basic"
}

Карабинер (10.11 и ранее)

Сохраните такой файл как private.xml :

<?xml version="1.0"?>
<root>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_Safari</name>
    <url>file:///Applications/Safari.app</url>
  </vkopenurldef>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_iTunes</name>
    <url>file:///Applications/iTunes.app</url>
  </vkopenurldef>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_EMACS</name>
    <url>file:///Applications/Emacs.app</url>
  </vkopenurldef>
  <item>
    <name>custom</name>
    <identifier>custom</identifier>
    <autogen>__KeyToKey__ KeyCode::F11, KeyCode::VK_OPEN_URL_Safari</autogen>

    <!-- change the right option key into an extra modifier key -->
    <autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::VK_MODIFIER_EXTRA1</autogen>

    <autogen>__KeyToKey__ KeyCode::I, ModifierFlag::EXTRA1, KeyCode::VK_OPEN_URL_iTunes</autogen>

    <!-- make a short press of the right command open Emacs -->
    <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_R, KeyCode::COMMAND_R, KeyCode::VK_OPEN_URL_EMACS</autogen>
  </item>
</root>

Альфред 2

Если вы купили Powerpack для Alfred 2, вы можете создать рабочий процесс следующим образом:

По умолчанию горячие клавиши имеют небольшую задержку, но вы можете уменьшить задержку, изменив опцию «Поведение триггера» с «Имитация выпущенных клавиш-модификаторов» на «Прохождение через клавиши-модификаторы (самые быстрые)»:

Услуги автоматизатора

Откройте Automator, выберите «Сервис» в качестве типа документа, измените «Сервис получает» с «Текст» на «Нет ввода», добавьте действие «Запустить приложение» и сохраните сервис. Затем назначьте сочетание клавиш для службы в «Системные настройки> Клавиатура> Сочетания клавиш> Службы».

Я не рекомендую эту опцию, потому что, по крайней мере, в моей системе, в лучшем случае, задержка составляет около полсекунды, прежде чем приложение фокусируется с помощью сочетания клавиш, созданного с помощью этого метода, а задержка часто бывает даже больше. С 10.7 также была ошибка, когда сочетания клавиш для служб Automator не всегда работают, пока вы не наведете курсор мыши на меню служб в строке меню. (Изменить: прошло 8 лет после того, как я написал этот ответ, и ошибка все еще не исправлена.) Кроме того, сочетания клавиш для сервисов недоступны в некоторых приложениях, таких как Emacs.

LRI
источник
3
private.xml ГДЕ? В любом месте? Это уже существует? Я не могу найти это. Куда это идет?
boulder_ruby
@boulder_ruby, /Library/Application Support/Karabiner/private.xml. Или откройте графический интерфейс Karabiner> вкладка "Разное и удаление"> вкладка "Открыть файл private.xml". У меня была точно такая же трудность.
Александр Берд
Karabiner-Elements - это потрясающе, теперь, когда я знаю, что могу изменить его настройки непосредственно в файле json. Спасибо! Qu
Куинн Комендант
2
Поместите автомат наверху, так как это проще всего сделать большинству людей
Гарри
8

Альфред

Альфред в своей версии Power Pack может сопоставлять ярлыки приложениям и многим другим функциям.

Дэвид
источник
5

Если вы не хотите использовать сторонние приложения.
Затем вы можете использовать Automator (Services) и встроенные сочетания клавиш.

Вот как в ответе на подобный вопрос.

Очень простой.

На шаге 3 создания сервиса.
Установите «любое приложение».

то есть,
установите Сервис получает: «нет ввода» в «любое приложение» (Сделайте это, используя раскрывающиеся списки вверху.)

markhunte
источник
Приятно знать, почему по этому поводу проголосовали против. Не комментировать
отрицательные
5

Получите Quicksilver, http://www.blacktree.com/ , он позволит вам устанавливать сочетания клавиш для открытия приложений. На самом деле существует гораздо больше приложений, которые делают это (Alfred, Keyboard Maestro и т. Д. И т. Д.)

Mac OS X на самом деле имеет встроенный способ сделать это, но он не работает для Firefox, потому что он не поддерживает сервисы! http://hints.macworld.com/article.php?story=20090903085255430

Обновление января 2012: Blacktree больше не обновляет Quicksilver - разработчик перешел на Google и выпустил окно быстрого поиска Google . Quicksilver живет, но у него есть новый дом на qsapp.com .

Пол Эклс
источник
Благодарю. Был очень полезным для меня. использовал Google, но не нашел вашу ссылку.
политик
Круто, так вы пришли правильно?
Пол Эклс
1
"Да". Установленный Quicksilver (очень мощный, конечно, лучше, чем просто ярлык). Пробовал Клавиатура Маэстро. Теперь отдыхаю перед тем, как выучить все эти ярлыки ;-)
politicus
Ртуть это здорово. Большое спасибо за совет. Я создал bash-скрипт для открытия gmail, а другой - для открытия mysms в браузере. Затем я использовал скрипт appify, чтобы сделать их приложениями для OS X. Оттуда я мог бы использовать Quicksilver, чтобы мои сочетания клавиш запускали их. Очень приятно иметь. mathiasbynens.be/notes/shell-script-mac-apps
jbrock
2

Здесь есть много хороших опций, но я хотел добавить свой личный фаворит, который я использую с 10.5 и до сих пор работает на 10.11.2: Spark 3 .

http://www.shadowlab.org/Software/spark.php

Это бесплатное и чрезвычайно простое в настройке. Вот описание разработчика:

Spark - это мощный и простой менеджер ярлыков. С помощью Spark вы можете создавать горячие клавиши для запуска приложений и документов, выполнять AppleScript, управлять iTunes и т. Д. Вы также можете экспортировать и импортировать библиотеку горячих клавиш или сохранить ее в формате HTML, чтобы распечатать. Spark бесплатен, поэтому используйте его без модерации!

Вот скриншот интерфейса:

Пользовательский интерфейс Spark

billynoah
источник
2

Я нашел Apptivate самым простым в использовании. Вы просто выбираете приложение и назначаете глобальный ярлык. Вот и все.

Soid
источник
1

Я знаю, что об Альфреде уже упоминалось, но я решил немного рассказать о выборе сочетаний клавиш. Сначала мне было неочевидно, что будет хорошим набором ярлыков, который (а) легко запомнить, (б) легко использовать, и (в) не конфликтует с другими сочетаниями клавиш системы или приложения.

В итоге я использовал клавишу «alt» в качестве основы и, как правило, полагался на клавиши, которые могут быть вызваны левой рукой, и выбирал описательные буквы (например, x для Excel). это позволяет вам держать мышь правой рукой, а сочетания клавиш - левой.

Другое преимущество использования горячих клавиш Альфреда для активации приложения заключается в том, что если приложение скрыто, оно будет скрыто.

Вот снимок экрана того, как я настроил это: пример конфигурации горячих клавиш Альфреда

Джером англим
источник
1

Чтобы открыть Терминал с помощью сочетания клавиш без стороннего программного обеспечения:

  • Откройте Automator ( ⌘ + пробел , затем введите Automator)
  • Перейти к файлу -> Новый
  • Выберите « Быстрое действие» (или « Сервис» , в зависимости от версии вашего Mac).
  • Там, где написано, что Workflow получает , выберите no input :

как открыть терминал Mac с помощью сочетания клавиш

  • В столбце « Действия» найдите « Запустить AppleScript» и перетащите его в правый столбец.
  • Вставьте это в область скрипта:

    on run {input, parameters}
    
        tell application "Terminal"
            do script ""
            activate
        end tell
    
    end run
    

PS: Удалить, do script ""если вы не хотите новый экземпляр терминала каждый раз, когда вы нажимаете горячую клавишу.

  • Нажмите Файл -> Сохранить и назовите его как хотите.

Mac открытый терминал с сочетанием клавиш

  • Теперь закройте Automator и откройте Системные настройки -> Клавиатура -> Ярлыки
  • В левом столбце нажмите «Услуги»
  • Прокрутите вниз до самого низа, вы должны увидеть скрипт, который вы только что сохранили. Кликните по никому, чтобы назначить ему горячую клавишу.

Однако важно учитывать, что горячая клавиша должна быть уникальной для всех приложений. Если вы назначите общую горячую клавишу, такую ​​как ⌘ + T , и попытаетесь открыть терминал во время просмотра, она будет конфликтовать с горячей клавишей большинства браузеров, чтобы открыть новую вкладку, поэтому она не будет работать. Вот почему вы должны попробовать ярлык, который не будет конфликтовать ни с одним приложением.

Я выбрал ⌘ + ⌥ + F12 . Работает довольно хорошо.

Обновить

Если вы используете iTerm2 + Oh My Zsh , просто замените « Запустить AppleScript» на « Запустить приложение в Automator» и выберите iTerm.app из списка.

Лукас Бустаманте
источник
Вам не нужно использовать AppleScript: есть действие Launch Application.
Benwiggy
1

Если приложение является терминалом, для него уже настроены сочетания клавиш в разделе «Предпочтения: Системные настройки Сочетания клавиш новый терминал в папке ^+ +».T

Новый терминал в Tab Folder + ^+ +T

Макс Маклеод
источник
Обратите внимание, что я бы ответил на это в сочетании клавиш для вопросов запуска терминала. Однако на них нельзя ответить, поскольку они помечены как дубликаты этого вопроса.
Макс Маклеод
0

Тор

Для этого есть хорошее чистое приложение с открытым исходным кодом под названием Thor. Это позволило вам назначать глобальные ярлыки для приложений.

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

Загрузите бинарный файл из магазина приложений здесь https://itunes.apple.com/app/thor/id1120999687?ls=1&mt=12 . Страница проекта находится здесь https://github.com/gbammc/Thor .

mipmip
источник