web-dev-qa-db-ja.com

Mac OSXで特定のテキストフレーズを貼り付けるためのホットキーまたはキーボードショートカットを作成する

複数のアプリケーションで頻繁に使用するテキストフレーズ(実際には複数のフェーズ)があります。常にコピーしてコピーするのではなく、テキスト入力フィールド(Apple Mail、Microsoft Word、TextEdit、TextWrangler、ブラウザウィンドウなど)にカーソルを置いた場所にこのテキストフレーズを貼り付けるキーボードショートカットまたはホットキーを作成したい付箋から貼り付けます。

私はアプリを購入する必要がないことを望みます(Keyboard Maestroにはこの機能があるようですが、このために$ 36を支払うのは馬鹿げているようです)。 [システム環境設定]> [キーボード]> [キーボードショートカット]で確認しましたが、明確な解決策はありませんでした。また、見つかったすべてのAppleScriptが正しく翻訳されないようです。この問題について、Windowsユーザー(AutoHotKeyなど)のこのフォーラムで他の解決策を見つけましたが、Macユーザーの解決策はありません。

21
Ruthie

AppleScriptでテキストを入力する最も簡単な方法は、次のコマンドを実行することです。

tell application "System Events" to keystroke "foo bar"

Automatorで新しいQuick Action(以前はServiceと呼ばれていた)を作成することにより、キーボードショートカットでこれをトリガーできます。 入力なしを受け取るように設定し、次にRun AppleScriptを左ペインから右にドラッグします。

次のようになります。

保存してから、このサービスにシステム環境設定"キーボード"キーボードショートカットのキーボードショートカットを割り当てます。

16
slhck

keystrokeコマンドは、現在のキーボードレイアウトで見つかった文字を挿入するためにのみ使用でき、長いテキスト文字列には目に見える遅延があります。テキストを直接挿入することもできます:

その方法も実際には使えません。 10.7と10.8にはバグがあり、Automatorサービスのショートカットは、サービスメニューにカーソルを合わせるまで機能しない場合があります。

このスクリプトをF3に割り当てるために FastScripts を使用しました。

try
    set old to the clipboard as record
end try
try
    tell application "System Events"
        key code 123 using {option down, shift down}
        keystroke "c" using command down
    end tell
    delay 0.05
    set input to the clipboard
    read POSIX file "/Users/lauri/Notes/snippets.txt" as «class utf8» using delimiter linefeed
    repeat with p in result
        considering case
            if p starts with (input & " ") then
                set the clipboard to text ((offset of space in p) + 1) thru -1 of p
                tell application "System Events" to keystroke "v" using command down
                delay 0.05
                exit repeat
            end if
        end considering
    end repeat
end try
try
    set the clipboard to old
end try

snippets.txtは次のようになります。

m [email protected]
cmd ⌘

別のオプションは DefaultKeyBinding.dict を使用することです。これにより、⌥Mまたは⌥Xになり、mが電子メールアドレスを挿入します。

{
    "~m" = (insertText:, "[email protected]");
    "~x" = {
        "m" = ("insertText:", "[email protected]");
    };
}

キーを押したときに表示されるポップオーバーにカスタムテキストを追加することもできます。 この質問 を参照してください。

6
Lri

@ ddのようなテキストフレーズを定義するための「Textexpander」と呼ばれるアプリを探してください。これは、入力すると、定義されたコンテンツに展開されます。この場合、実際の日付です。

私の知る限り、それはシェアウェアです。したがって、実際には無料ではありませんが、デモモードには時間制限がありません。

2
heiglandreas

Alfred app では、ワークフロー機能とスニペット機能を使用して、これに加えて他の多くのことを実行できます。私は常にアルフレッドを使用しており、強くお勧めします。ワークフローのロックを解除するには、Powerpackライセンスを支払う必要がありますが、後悔することはありません。 ????

2
mklbtz

ただクリックしてください:システム環境設定、キーボード、テキスト、そしてあなたのショートカットとフレーズを入力してください

1
Jonathan Huie

火星キーボードと呼ばれる別のキーボードは、文章や短い段落などのテキスト文字列を保持します。それはあなたが毎日何度も何度も入力する迷惑な迷惑なキーストロークを入力することからあなたを救うでしょう。キーは「貼り付け」キーのように機能します。 Shiftレイヤーキーを使用して、Wordのすべてのショートカットを1つのキーボードに保存できます。それは主に業務用であるため、少し高価です。

0
Rick