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


21

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

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

回答:


16

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

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

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

次のようになります。

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


わあ、@ slhckに感謝します!これを試しましたが、最後のステップで問題が発生しています。システム環境設定の「キーボードショートカット」に移動しても、「サービス」メニューに表示されません。Automatorを開いてPlayを押すと、前のアプリケーションでテキストが入力されますが、サービスに表示されないため、ライブラリ> Servicesフォルダーに保存したキーボードショートカットを追加できるため、実行されます。私がグーグルで検索した他のフォーラムのアドバイスで、サービス入力が「サービス受信:入力なし」(設定されている)に設定されていることを再確認し、Finderを再起動しました。何かご意見は?
ルシー

Automatorから保存しましたか?通常、キーボードショートカットオプションの下部にある[ サービス全般]に表示されます。ログアウトしてからログインし直したり、再起動したりしましたか?
slhck

@slhckこれはこれを行うのに最適な方法のように聞こえますが、あなたの答えをもう少し詳しく教えてもらえますか?私はAutomatorの動作方法に精通していません。Automatorを起動すると、「ドキュメントのタイプを選択してください」と表示され、その後、迷ってしまいます。今はジョナサンヒューイの答えに行きますが、それでも何かを入力することを意味します...ありがとう!
MicroMachine

@fabriced Automatorでサービスを作成する必要があります。
-slhck

2
これはテキストエディタで機能しますが、Webサイトのテキストフィールドでは機能しません。他に誰か?
エリオット

6

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

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

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

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 name@example.com
cmd ⌘

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

{
    "~m" = (insertText:, "name@example.com");
    "~x" = {
        "m" = ("insertText:", "name@example.com");
    };
}

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


2

「Textexpander」と呼ばれるアプリを探してください。これは、@ ddのようなテキストフレーズを定義する能力を提供します。

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


他の人に役立つ場合の簡単なメモ-TextExpanderはX11ターミナルウィンドウでは動作しません。
ggkmath

2

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


私は同意します、これはMacを所有している人が持つべき最も便利なアプリの1つです。カスタムAutomatorサービスからAlfredに完全に移行しました。
slhck

1

システム設定、キーボード、テキストをクリックして、ショートカットとフレーズを入力してください


1
私はこの答えが好きですが、実際には「キーボードショートカット」や「ホットキー」を許可していません。マシンで置き換えられるテキスト(キーの組み合わせではなく)を入力する必要があります。
MicroMachine

1
これは、一部の選択したアプリでのみ機能するようです。それは私がそれをみたい場所のほとんどでは動作しません、例えば、ブラウザの入力フィールドは、などのメールクライアント(Thunderbirdなど)、ターミナルは、
慌てる必要はありません

0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.