4

Я хотел бы иметь сочетание клавиш, чтобы открыть новый терминал, где бы я ни был. Оболочка по умолчанию в моем домашнем каталоге по умолчанию была бы отличной. Некоторое время я пытался это сделать, но пока не повезло. Вещи, которые я пробовал:

1) syspref -> клавиатура -> ярлыки -> службы, выберите «новый терминал в папке». Результат: он просто пищит и ничего не делает

2) syspref -> клавиатура -> ярлыки -> ярлыки приложения -> создать новый элемент, который ссылается на приложение «Терминал». Результат: пищит и ничего не делает

3) Из automator создайте новый сервис, который не принимает ввод и запускает «Терминал», привяжите новый сервис из контекстного меню клавиатуры. (следовал этим инструкциям). Этот вид работает, но только несколько раз (см. Обновление)

Что я делаю неправильно ?

Обновить

Решение 3 вида работает, но имеет два недостатка:

  • это работает, только если какое-то окно сфокусировано, оно НЕ будет работать, если у вас нет какого-либо окна или если в данный момент окно не находится в фокусе. Более того, даже если окно сфокусировано, оно, очевидно, должно быть правильным видом окна, например, по какой-то причине оно не работает, если сфокусирован chrome, но оно будет работать, если фокусируется gvim, WTF?.
  • если окно терминала уже открыто, оно просто сфокусирует существующий терминал и выведет его сверху, я хотел бы, чтобы появилось новое, свежее окно терминала (хорошо, я думаю, я могу просто сделать ctrl-command-t, чтобы вывести его в сфокусируйся, а потом управляй-н для нового окна, но это вроде отстой)

3 ответа3

3

Вы можете создать такой сервис:

Затем дайте ему ярлык из Системных настроек.

Задержка может быть 0,1-1 с до запуска служб Automator, и по крайней мере на моих установках 10.7 и 10.8 ярлыки для служб не всегда работали, пока я не завис над меню служб из строки меню. Вы также можете использовать FastScripts, чтобы назначить ярлык сценарию, или использовать файл private.xml, например, с KeyRemap4MacBook:

<?xml version="1.0"?>
<root>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_SHELL_TERMINAL</name>
    <url type="shell">osascript -e 'tell app "Terminal"' -e 'do script ""' -e activate -e end</url>
  </vkopenurldef>
  <item>
    <name>test</name>
    <identifier>test</identifier>
    <autogen>__KeyToKey__ KeyCode::F5, ModifierFlag::NONE, KeyCode::VK_OPEN_URL_SHELL_TERMINAL</autogen>
  </item>
</root>

Если другие ищут способ открыть терминал и создать новое окно только при отсутствии существующих окон, вы можете использовать файл private.xml, как этот, с KeyRemap4MacBook:

<?xml version="1.0"?>
<root>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_TERMINAL</name>
    <url>file:///Applications/Utilities/Terminal.app</url>
  </vkopenurldef>
  <item>
    <name>test</name>
    <identifier>test</identifier>
    <autogen>__KeyToKey__ KeyCode::F5, ModifierFlag::NONE, KeyCode::VK_OPEN_URL_TERMINAL</autogen>
  </item>
</root>

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

1

Существует ошибка, которая не позволяет вновь назначенным сочетаниям клавиш работать до тех пор, пока вы не откроете подменю «Службы» в приложении. Увы, этот обходной путь не работает для служб терминалов, поскольку они никогда не отображаются в подменю «Службы» - они появляются только в контекстном меню.

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

0

1) должно работать, но Папка должна быть выбрана (сфокусирована). Недостаточно просто находиться в папке и ничего не выбирать (или обычный файл).

Выберите папку в Finder, если вы установили флажок в Syspref > Keyboard > Shortcuts > Services > new terminal at folder вы также можете увидеть пункт меню в Finder > Services .


Простой ярлык для Terminal.app (или любого другого) можно сделать в Automator:

создайте новый сервис, выберите отсутствие ввода при получении сервиса, добавьте действие Launch Application и выберите Terminal.app. Теперь сохраните сервис и перейдите в « System Preferences > Keyboard > Shortcuts > Services Только что созданный сервис должен появиться внизу с именем, которое вы сохранили. Добавьте сочетание клавиш, и вы сможете запустить терминал из любого приложения с этим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .