web-dev-qa-db-ja.com

mac os x10.9.1マーベリックスで新しいターミナルウィンドウを開始するショートカットを作成する方法

どこにいても新しい端末を開くためのキーボードショートカットが欲しいのですが。私のデフォルトのホームディレクトリにあるデフォルトのシェルは素晴らしいでしょう。私はこれを実現するためにしばらく努力してきましたが、今のところ運がありません。私が試したこと:

1)syspref->キーボード->ショートカット->サービス、「フォルダの新しいターミナル」を選択します。結果:ビープ音だけで何もしません

2)syspref->キーボード->ショートカット->アプリのショートカット->「ターミナル」アプリケーションにリンクする新しいアイテムを作成します。結果:ビープ音が鳴り、何もしません

3)オートマターから、入力を受け入れずに「ターミナル」を起動する新しいサービスを作成し、キーボードショートカットメニューから新しいサービスをバインドします。 ( これらの指示に従った )。この種の作品ですが、たまにしかありません(更新を参照)

私は何が間違っているのですか?

更新

解決策3種類の作業ですが、2つの欠点があります。

  • 一部のウィンドウがフォーカスされている場合にのみ機能します。ウィンドウがない場合、または現在フォーカスされているウィンドウがない場合は機能しません。さらに、ウィンドウがフォーカスされている場合でも、それは明らかに正しい種類のウィンドウである必要があります。何らかの理由で、chromeがフォーカスされている場合は機能しませんが、gvimがフォーカスされている場合は機能します、WTF?。
  • ターミナルウィンドウがすでに開いている場合は、既存のターミナルにフォーカスを合わせて一番上に表示します。新しい新しいターミナルウィンドウを表示したいと思います(ctrl-command-tを実行して取り込むことができると思います)フォーカスしてからcontrol-nで新しいウィンドウを表示しますが、それはちょっとひどいです)
4

次のようなサービスを作成できます。

次に、システム環境設定からショートカットを指定します。

Automatorサービスが実行されるまでにおそらく0.1〜1秒の遅延があり、少なくとも10.7と10.8のインストールでは、メニューバーからサービスメニューにカーソルを合わせるまで、サービスのショートカットが常に機能するとは限りませんでした。 FastScripts を使用してスクリプトにショートカットを割り当てるか、 private.xmlKeyRemap4MacBook で次のように使用することもできます。

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

他の人がターミナルを開き、既存のウィンドウがない場合にのみ新しいウィンドウを作成する方法を探している場合は、KeyRemap4MacBookで次のようなprivate.xmlを使用できます。

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

または、Alfred 2用のPowerpackを購入した場合は、次のようなワークフローを作成できます。

3
Lri

アプリケーションで[サービス]サブメニューを表示するまで、新しく割り当てられたキーボードショートカットが機能しないバグがあります。残念ながら、この回避策はターミナルサービスでは機能しません。これは、ターミナルサービスが[サービス]サブメニューに表示されることはなく、コンテキストメニューにのみ表示されるためです。

他のサービスの場合、別の回避策は、サービスではなくアプリのショートカットを使用してメニュー項目にキーを割り当てることです(どちらもキーボードシステム環境設定パネルの[ショートカット]タブにあります)。ただし、ショートカットはFinderのコンテキストメニューに表示され、メニューが表示されている間も機能しますが、コンテキストメニューを表示していない限り効果はありません。

1
Chris Page

1)動作するはずですが、フォルダは選択済み(フォーカス済み)である必要があります。フォルダ内にあり、何も(または通常のファイル)選択されていないだけでは十分ではありません。

Finderでフォルダを選択します。Syspref > Keyboard > Shortcuts > Services > new terminal at folderの下のチェックボックスを有効にすると、Finder > Servicesにもメニューエントリが表示されます。


Terminal.app(またはその他)への簡単なショートカットは、Automatorで実行できます。

新しいサービスを作成し、サービス受信入力なしを選択し、 アプリケーションの起動アクションを実行し、Terminal.appを選択します。次に、サービスを保存してSystem Preferences > Keyboard > Shortcuts > Servicesに移動します。作成したばかりのサービスが、保存したときの名前とともに下部に表示されます。キーボードショートカットを追加すると、それを使用して任意のアプリからターミナルを起動できます。

0
nappo