コマンドラインアプリケーションを実行するグ​​ローバルショートカットを作成する


31

グローバルショートカットを介してコマンドラインプログラムを実行するには、どの手順が必要ですか?

Automatorをセットアップして新しいRun Shell Scriptを作成し、System Preferences-> Keyboard-> Keyboard Shortcutsでショートカットを割り当てようとしましたが、何も起こりませんでした。


1
私の質問は異なります。ターミナルウィンドウをまったく開きません。
zバッファー

1
ターミナルウィンドウをまったく開きたくない場合は、リンクされた投稿と同じことを求めています。
ダニエル

回答:


8

Applescript it:

do shell script "ls ~/Desktop"

そこに必要なものを追加すると、グローバルホットキーアプリケーションを介してApplescriptを実行できます。私はスパークをお勧めします

ああ、システム環境設定からショートカットを割り当てることについて知りません


ビンゴ。奇妙なことに、この機能はまだOSXに組み込まれていません。本当にありがとう!
アダムフロット

@アダムはい、それは少し奇妙です。
-daviesgeek

8
それは除いている Automatorのサービス、@AdamFlottを通じてOS Xに組み込まれて、それはあなたが受け入れ答えは、そのメソッドを使用していないだけということです。
ダニエル

2
また、AppleScriptとAutomatorのは、ある OS Xの一部
ダニエル

1
正当な理由なしにサードパーティを使用する場合は-1。
クレゴックス

32

探しているものの詳細を知らなくても、Automatorを使用して新しいサービスを作成することをお勧めします。サービスはキーストロークトリガーにバインドでき、シェルスクリプトを実行できます(他のものもあります)。 ここに画像の説明を入力してください

キーボードショートカットを設定するには、[システム環境設定]-> [キーボード]-> [ショートカット]-> [サービス]に移動し、保存したサービスを選択して、[ショートカットの追加]ボタンをクリックします。


キーボードショートカットの設定方法をサービスに保存した後、私にはわかりません。
リロンヤーダフ

@LironYahdav上記の編集
ダニエル

12

FastScriptsには〜/ Library / Scripts /にすべてのスクリプトが含まれているため、ファイルを手動で追加する必要はありません。また、アプリケーション固有のスクリプトもサポートしています。

スクリプトを実行するためのショートカットを割り当てるために使用できる他のアプリケーション:

Automatorサービスを作成することもできます。

  1. Automatorを開き、サービステンプレートを選択します
  2. Run Shell ScriptまたはRun AppleScriptアクションを追加する
  3. 入力タイプとアプリケーションスコープが正しいことを確認します
  4. スクリプトを貼り付けて、サービスを保存します
  5. キーボード設定ペインでショートカットを割り当てます

10.7および10.8には、メニューバーからサービスメニューが表示されるまでサービスのショートカットが常に機能しないバグがあります。サービスのショートカットは、最前面のアプリケーションにメニューバーまたはサービスメニューがない場合は機能しません。また、サービスが実行される前に短い遅延があります。


さらに、それを行う他のアプリについても言及します。すでにQuickSilverを使用しているときに、sparkをインストールしようとしました。そのオプションがあることは知りませんでした。
マーロン

また、Automatorアプローチを使用している場合、ショートカットを追加するための[キーボードの設定]ペインのセクションは[サービス]セクションの下にあります。
ブラッドパーク14

7

私はこれらのオプションをすべて試しましたが、それらは複雑すぎて信頼性が低いか、本当に高価です。だから私は自分のソリューション(オープンソースと無料)を書くことになりました。

iCanHazShortcut

今はあまりできませんが、それは始まりです。機能のリクエストや提案を追加して、気軽に貢献してください。


1
数時間前からこの問題の簡単な解決策を見つけようとしてきましたが、あなたのアプリケーションは、複雑な機能を必要とせずに動作するはずの唯一のアプリケーションです。ありがとう!
Stijnマルテンス

@StijnMartensどういたしまして!それがその背後にある全体のアイデアです-コマンドのショートカットが必要な場合、コマンドのショートカットを取得します。これ以上でもそれ以下でもありません。
-deseven

これは見事に機能しました。
ブライアンシャーマーホーン

2

Quicksilverを使用して、ホットキーをアクションにバインドできます。

頻繁に何かをしていることに気づいたら、「トリガー」を割り当てることでタスクをさらにスピードアップできます。トリガーは、キーボードショートカットまたはマウスの動きによってアクティブにできます。

実行するUnixコマンドまたはシェルスクリプトの場合、このStackoverflowの投稿では、Quicksilverの「ターミナルモジュール」の使用に関する詳細情報が提供されます。


1

BTTを使用して答えをここに追加します。これは簡単で、実際にコマンドラインスクリプトに直接バインドできるためです。

  1. BTTからキーボードを選択

BTTからキーボードを選択

  1. ショートカット(またはキーシーケンス!)を入力します。

ショートカット(またはキーシーケンス!)を入力します。

  1. 「トリガー事前定義アクション」を選択し、「shell」と入力してアクションを見つけます。

「トリガー事前定義アクション」を選択し、「shell」と入力してアクションを見つけます。

  1. 実行したいスクリプトとシェルを貼り付けることができます。

実行したいスクリプトとシェルを貼り付けることができます。

[保存]をクリックすると完了です!次に、セットアップしたキーボードトリガーを使用してスクリプトをテストします。

  1. 追加:ショートカットが何であるかを覚えておくためにメモを追加することができます...

メモを追加して、ショートカットの用途を覚えておくとよいでしょう...


私はBTTを持っているので、ありがとう、このルートを下って行きました。
レオウフィムツェフ

0

これは10.6で利用可能だったように見えます(http://hints.macworld.com/article.php?story=20090903085255430を参照)が、10.7.2(およびおそらく10.7以前)で何かが壊れました

ただし、システム環境設定が最前面にある場合サービスのキーボードショートカットが使用されますが、Finderなどの他のアプリケーションでは使用されないことがわかりました。

ただし、Sparkを使用するという以前の提案は、キーボードショートカットでCtrlを使用できなかったことを除いて、完全に機能しました。(ショートッパーではありません!)


アプリケーションメニューにフォーカスがある場合のみ。デスクトップをクリックしてショートカットを試しても動作しません。ファインダーのメニューをクリックしてから試してみてください。ターミナル用のサービスがあり、ショートカットがあり、すべてのアプリに表示されます...しかし、アプリ内にいなくてもメニューにフォーカスが必要な場合は機能しません。
マーロン

@Lriは、ログアウトしてから再度ログインした後、マシンを再起動した後などです。上記で説明したとおりにしない限り、まだ動作しません。ただし、Quicksilverで設定すると機能します。QuickSilverがOSではなく、これらの「グローバル」ショートカットをキャッチできる理由を知りたいと思います。
マーロン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.