ホットストリング
特定の文字列を入力した際に、決められた処理を実行することができる機能です。
文字列の自動置換
特定の文字列が入力されたときに、自動的にその文字列を別の文字列に差し替える機能です。
ホットストリングを定義するには、以下の様に2連続コロンで両側を囲みます。
::btw::by the way
これを実行(常駐)した状態で、BTWSpaceと入力すると、入力した「btw」が削除されて「by the way」に置き換わります。わずか1行で略語を定義して自動置換するスクリプトができるわけです!
内部的には、入力を監視して「btw」という文字列が来たときだけ、「Backspaceを3回押して by the way を打つ」という入力を行っています。
入力される文字列にはUnicode文字が利用できるので、漢字や記号も利用可能です。
発動タイミング
ホットストリングが発動するのは、文字列の後にSpace,Space,Tabなどの終了文字が入力されたときです。
デフォルトの終了文字は-()[]{}':;/\,.?!
と、改行文字(`n
),タブ文字(`t
)です。終了文字は以下の例のように変更可能です。
#Hotstring EndChars -()[]{}:;'/\,.?!`n `t
日本語には注意
ホットストリングの機能は英語圏では便利なのですが、日本語での利用には注意が必要です。
IMEがOn(日本語入力モード)でもホットストリングは発動してしまうので、Backspaceで削除される文字数が合わず(ローマ字入力だとキータイプ数と文字数が一致しない)余分に文字が削除されてしまいます。
外部ライブラリの IME.ahk を include しておけば、IMEがOffの時のみ発動させることができます。漢字などUnicode文字が含まれている場合はIMEがOnになってしまうことに注意。
#If !IME_Get() ::fyi::参考までに #If
公開日: