増井俊之氏のAgainのAutoHotKey実装です。
オリジナルはEmacs上で動作するマクロですが、AutoHotKeyで実装することにより、Windows上の全てのエディタ、アプリケーションで手軽にAgainを利用できます。
オリジナルで実装されているndmacro.elとの組み合わせは未実装。
AutoHotKey版DynamicMacroはこちら
- AutoHotKey本体がインストールされていること
※ AutoHotKeyのKeyHistoryを利用しているため、現状スクリプトをコンパイルした状態で使うことはできません。
Again.ahkをダブルクリックして実行します。- 下記設定の
InvokeHotKeyで割り当てたホットキー(デフォルトはCtrl+l)を入力すると、1秒間何も入力がない状態からその時点までのキー操作から繰り返し実行されます。
Again.iniの以下の部分でホットキーを設定してください。それぞれのコマンドの意味は下記の通りです。
InvokeHotKey=^l
SuspendHotKey=^+l
ResetHotKey=~esc
| # | コマンド | デフォルトHK | 機能概要 |
|---|---|---|---|
| 1 | InvokeHotKey | ^l | 繰り返し実行 |
| 2 | SuspendHotKey | ^+l | 本マクロの有効/無効切り替え |
| 3 | ResetHotKey | ~esc | again動作をリセット |
※#2は本家にはない機能ですが、Againマクロの有効・無効を切り替える機能を付けました。 ただし、PauseではなくSuspendのためタイマー自体は停止しません。これが気持ち悪い場合は、タスクトレイから手動で本スクリプトをPuaseするか終了してください。
Again.iniの以下の部分でagain動作をリセットする間隔を設定してください。デフォルトは1000msec(1s)になっています。
ClearInterval=1000
利用状況を分析するために、ログ出力機能を付けています。
ログを出力するには、Again.iniの以下の部分を設定してください。
EnableLog=0
LogPath=Againlog.txt
EnableLogを1にすると、LogPathのファイルにログを出力します。ログファイルは絶対パスか相対パスで指定してください。相対パスの場合はAgain.ahkが存在するディレクトリを起点にします。
ログはCSV形式で、それぞれのカラムの意味は以下です。
| カラム | 意味 | 例 |
|---|---|---|
| 第1カラム | 時刻 | 2022/07/15 01:01:01 |
| 第2カラム | 実行タイプ | Again |
| 第3カラム | 自動タイプしたタイプ数 | 3 |