AutoHotKey v2の導入

Software

前回のブログで紹介したスニペットツールの一つ、AutoHotKeyの導入について紹介する。いつの間にかAutoHotKeyも更新されていたようで、AutoHotKey v2なるものが公開されていた。どうやら依然のバージョンであるv1との互換もあるようなので、今回は新しくリリースされたAutoHotKey v2をWindows PCに導入することにする。
※MacはAutoHotKeyが使えないので、今後改めて別のソフトを紹介する。

AutoHotKeyのインストール

まずは、AutoHotKeyのウェブページ(https://www.autohotkey.com/)に行く。

そうすると真正面にDownloadというボタンがあるので、これをクリック。そのあとsetup.exeファイルがダウンロードされるので、これをダブルクリック。

そうすると、以下のウィンドウが開くので、インストール先を指定して、Installをクリック。

そうするとインストールが完了して、AutoHotKey Dashというものが自動的に開かれる。

これでインストールはおしまい。

スニペットを含むAutoHotKeyファイルの作成

AutoHotKey DashのNew scriptからも作成できますが、メモ帳から作成する方法がわかりやすいかと思うので、そちらを紹介する。

まずはメモ帳を開く。それでもって、まずは以下をコピペして入力する。こちらはうまく作動させるための「おまじない」である。

IME_SET(SetSts, WinTitle="A")    {
	ControlGet,hwnd,HWND,,,%WinTitle%
	if	(WinActive(WinTitle))	{
		ptrSize := !A_PtrSize ? 4 : A_PtrSize
	    VarSetCapacity(stGTI, cbSize:=4+4+(PtrSize*6)+16, 0)
	    NumPut(cbSize, stGTI,  0, "UInt")   ;	DWORD   cbSize;
		hwnd := DllCall("GetGUIThreadInfo", Uint,0, Uint,&stGTI)
	             ? NumGet(stGTI,8+PtrSize,"UInt") : hwnd
	}

    return DllCall("SendMessage"
          , UInt, DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hwnd)
          , UInt, 0x0283  ;Message : WM_IME_CONTROL
          ,  Int, 0x006   ;wParam  : IMC_SETOPENSTATUS
          ,  Int, SetSts) ;lParam  : 0 or 1
}

;終了文字無し、単語途中でも発動させる
#Hotstring * 0 

次の行から実際にスニペットを作成していく。ひとまず以下に例を示す。

まず最初のセミコロンから始まる行はコメントの扱いになる。要は実行する上で何も反映されない部分になる。なのでこの性質を利用して、先頭行にこれを入れておいて、以下のコマンドが何をするものなのかの説明として利用するのが便利である。

次に2つのコロンで挟まれている行が、実際にスニペットを起動させるための文字列になる。以下の場合では「otsu;」と入力すると、コマンドが実行されるようにしている。

それ以降がスニペットの内容となる。IME_SET(0)とIME_SET(1)はおまじないであり、これでサンドイッチしておくと、スニペット発動時に日本語/英数のどちらであるかに関わらず、一度英数入力に切り替えてから発動するようになっている。そうするときれいにタイプされる。

「Send, ~~~」がスニペットで入力される部分になる。改行するためには、「`n」を入力する。文字列と改行を一行で記述できないので、別々の行で記述する。そうすると実際に吐き出されるのは

○○です(改行) お疲れ様です。(改行)

となる。最後にReturnと記述しておくことで、実行される範囲がここまでよと示すものである。お忘れなく。

;部内の挨拶
::otsu;::
IME_SET(0)
Send, ○○です。
Send, `n
Send, お疲れ様です。
Send, `n
IME_SET(1)
Return

上記の例が部内の挨拶であれば、部外の挨拶も、社外の挨拶も作れそうなのが予想できるかと思う。実際に、発動させるときの文字列と、定型文を変更さえすればいくらでも作れる。なお、一つのファイルにいくつものスニペットを格納することができるので、改行してどんどんスニペットを増やすことができる。めっちゃ便利やん。

メールの定型文も便利だが、記号をスニペットに登録してすぐに呼び出せるようにするのも便利である。例えば˚C(˚とCが別々、日本語フォントでなくても使える)の記号を好んで使うが、以下のように記述して使っている。

;℃
::do;::
Send, ˚C
Return

これを作るときだけ、必要な記号を探してこないといけないが、一度登録しておけば、後は簡単に「do;」だけで呼び出すことができる。

技術者であれば、Δやμとったギリシャ文字も多分に使う機会があるかと思うので、スニペットに登録して置くと便利である。ちなみに、度の記号(˚)については˚Cを入力してから、Cを消せばすむので、あえて登録していない。便利な一方で、呼び出すための文字列を覚えておかないといけないという側面もあるので、多ければ多いほどいいかと問われると、答えるのが難しい。むむむ。

保存、再修正、そして自動起動

中身ができたら、メモ帳に好きな名前をつけて保存する。その後で、拡張子を.txtから.ahkに変更する。そうするとアイコンがメモ帳のアイコンから、Hの記号のアイコンに変わる。これで、AutoHotKeyのファイルが完成となる。

ちなみに先のファイルに追記したり修正したりしたい場合にはこのファイルを右クリックしてEdit script(日本語だとなんて表記になるのかわからないです、すみません)を選択してあげれば、メモ帳で開くことができる。同じく保存して上がれば、これで中身が更新できる。

スニペットを起動させるためには予めこのファイルを起動させておく必要がある。便利だからスニペット登録したのに、PC起動するたびにこのファイルを都度開いてアクティブにしないといけないと思うと面倒である。そこでこのファイルをPCが起動した段階で自動的に起動できるようにStartupフォルダにいれてあげればいい。Windows10であれば、スタートアップフォルダはエクスプローラーを開いてあげて、アドレスバーに「shell:startup」と入力すると、スタートアップフォルダが開かれる。そこに作ったAutoHotKeyファイルを入れてあげると、PC起動時に自動で開いてくれる。めっちゃ便利やん。

その他の使い道

定型文や入力しにくい記号の入力の他にも、日付や時刻を含む設定をすることが可能である。私はなにかのファイルを作ったときにタイムスタンプをつけたい人なので、これを登録している。和文・英文ともに解説されているページが多数あるので、ぜひご自身で探って見てほしい。

さいごに

さぁこれでスニペットの準備が整いました。あとはメールなりwordなり、ゴリゴリ使ってみてください。AutoHotKeyはキー配置を変えたりもできる強力なツールなので、よかったら色々調べて使い倒してもらえるとうれしい。それでは良きスニペットライフをお楽しみあれ。

コメント

タイトルとURLをコピーしました