ホットストリング

特定の文字列を入力した際に、決められた処理を実行することができる機能です。

SPONSORED LINK

文字列の自動置換

特定の文字列が入力されたときに、自動的にその文字列を別の文字列に差し替える機能です。

ホットストリングを定義するには、以下の様に2連続コロンで両側を囲みます。

::btw::by the way

これを実行(常駐)した状態で、BTWSpaceと入力すると、入力した「btw」が削除されて「by the way」に置き換わります。わずか1行で略語を定義して自動置換するスクリプトができるわけです!

内部的には、入力を監視して「btw」という文字列が来たときだけ、「Backspaceを3回押して by the way を打つ」という入力を行っています。

入力される文字列にはUnicode文字が利用できるので、漢字や記号も利用可能です。

発動タイミング

ホットストリングが発動するのは、文字列の後にSpaceSpaceTabなどの終了文字が入力されたときです。

デフォルトの終了文字は-()[]{}':;/\,.?!と、改行文字(`n),タブ文字(`t)です。終了文字は以下の例のように変更可能です。

#Hotstring EndChars -()[]{}:;'/\,.?!`n `t

日本語には注意

ホットストリングの機能は英語圏では便利なのですが、日本語での利用には注意が必要です。

IMEがOn(日本語入力モード)でもホットストリングは発動してしまうので、Backspaceで削除される文字数が合わず(ローマ字入力だとキータイプ数と文字数が一致しない)余分に文字が削除されてしまいます。

外部ライブラリの IME.ahk を include しておけば、IMEがOffの時のみ発動させることができます。漢字などUnicode文字が含まれている場合はIMEがOnになってしまうことに注意。

#If !IME_Get()
::fyi::参考までに
#If

公開日: