【連載】なぜAutoHotkeyを使うのか

AutoHotkey①

【連載】なぜAutoHotkeyを使うのか

今回はAutoHotkey徹底解説の第1回ということで、AutoHotkey(以下、AHK)とは何なのかをざっと理解する回とします。

次回以降、環境構築から基本文法、使用例やスクリプトの解説などをしていこうと思います。

今回のゴール

AutoHotkeyの全体像を把握する。

対象読者

対象読者は次のような方です。

  • Windowsユーザ
  • タッチタイピングできる
  • キーボード配置のカスタマイズに興味がある
  • ノンプログラマ
  • AHK初心者

特に、誰にでもわかるような解説を心がけていますので、プログラミングが全くわからないという方でも理解いただけるかと思います。

概要

まずAHKがどのようなソフトなのかを理解しておく必要があります。 ソフトといいましたが、AHKは一般ユーザが想像するようなものではありません。

AHKとは?

以下は、非公式日本語Wikiからの引用です。

AutoHotkeyはホットキーへの機能の割り当てなど常駐ソフトの作成に特化したスクリプトエンジン。 ahkwiki.net

AHK公式サイトからも引用します。

AutoHotkeyは、Windows用のフリーでオープンソースのスクリプト言語で、あらゆる種類のタスクのためのスクリプトを簡単に作成することができます。
(勝手に翻訳) autohotkey.com

要するに、AHKはソフトではなくプログラミング言語だというわけですね。

ソフトと聞いて通常想像するのは、GUIアプリケーション(マウスでポチポチやるもの)だと思いますが、AHKは違います。

AHKは仕様書をもとにそれを実行する機械というイメージが正しいです。

すなわち、仕様書と言えるプログラムを書いてそれをAHKに渡すことになるわけです。

スズキ

プログラミングとはいえ簡易的なものなので、おそれる必要はありません。

AHKでできること

とにかく、ゴールが見えていないことには想像がつかないと思いますので、いくつか実例をお見せします。

行を挿入する

Ctrl+無変換+Enter

行挿入のGif

処理の流れとしては、まずを送信して上の行へ移動して、Endで文末へ移動し、そしてEnterで改行することにより、行が挿入されたようになります。

今日の日付を入力する

Ctrl+;

日付入力のGif

Excelのショートカットですが、他でも使いたかったので用意しました。

最初のテキストフィールドに移動

Ctrl+Shift+U

最初のテキストフィールドに移動する様子

Googleの検索窓に始まり、各サイトの検索窓やログイン画面などで活躍します。

選択文字列でGoogle検索

利用可能なショートカットの数を増やすために、2段階のショートカットを定義しました。

まず変換+G
続いてGを送信することにより、Google検索のためのウィンドウを表示します。
この際、文字列が選択されていた場合は、検索値を選択文字列としています。

選択文字列でGoogle検索する様子

もっと便利な設定もたくさんありますが、映像では便利さが理解できないため割愛しました。

スズキ

矢印キーをホームポジションで扱えるようにする、とか

メリット

AHKを利用するメリットは以下のとおりです。

  1. 文字入力などが効率化される
  2. 効率化されたことにより、思考がPC操作に阻害されにくい
  3. 疲れにくくなる

自分好みにカスタムするわけなので、3は明らかだと思います。

しかし特に、1, 2は非常に重要な視点ですので少し解説します。
(上記がすぐに納得できた方は、読み飛ばしていただいて構いません。)


まず、文字入力が高速化されることは疑いようもありません。

しかしそれ以上に、「こんな操作をしよう」と考えること自体がなくなります。
結果的に、クリアな思考が可能になって、生産性が向上します



ところで実は、文字入力が高速化されたとしても、長い目で見た場合の時間的なメリットは意外とありません。

ある期間、この作業に費やす時間という意味では短くなります。
しかしAHKの学習やスクリプトの作成で時間は消費されます。

では何のためにAHKを導入すべきなのか。

繰り返しになりますが、大きなメリットは、思考に邪魔が入らないことです。



また、しばしば、紙に書き出した方がアイデアが湧くという人はいますが、それはペンを動かすという操作が無意識に行われているためです。

つまり、キー入力をAHKによって効率化していないために、紙の方がいいと思ってしまうわけです。(と、私は思います。)

もちろん、時と場合によりますが、少なくとも一般論的にはPCの方が生産性が高く、特例として紙の方がいい場面もある、という認識にはなるのではないかと思います。



考えてみれば当たり前ではあります。

以下に、PCと紙の比較をしました。

PC
編集の効率⭐⭐⭐⭐⭐
思考のクリアさ⭐⭐⭐⭐⭐⭐⭐⭐⭐
レイアウトの自由さ⭐⭐⭐⭐⭐⭐⭐⭐

下2項目に関しては紙の方が優れていますが、PCではAHKやその他ツール(マインドマップ、Markdownなど)で補完でき、特にツール次第では紙より便利な場面もあります。


以上、いろいろ述べましたが、下記のデメリットを許容できる方には是非導入を検討してみていただきたく思います。

デメリット

実はデメリットもあります。

  • Windows以外の操作に不自由を感じる

効率化しすぎた副作用というか、宿命というか。

収入が増えて生活レベルを上げてしまうと、後で困窮したときに苦労するという話がありますよね。
まさにそれです。

そもそもOSによって操作は微妙に異なっていますし、今更気にすることでもないかもしれませんが、そこはご自身のライフスタイルとも相談してみるといいでしょう。

逆に言うと、少なくともWindowsオンリーならばデメリットはありません

AHKにはスタンドアロン版があるので、別のWindowsPCで使いたい場合でも、すぐにAHK環境をコピーできます。

スズキ

スタンドアロンとは、例えばZip形式などで配布され、USBなどで持ち運べる形態のことですね。

動作原理

例えばAHKスクリプトにおいて、Ctrl+Cに「切り取り(Ctrl+X)」を割り当てたと仮定しましょう。

本来は、例えばメモ帳でCtrl+Cを送信すれば、選択文字列はコピーされます。

しかし、AHKがCtrl+Cを「切り取り」と定義しているため、メモ帳に対してコピーは送信されず、代わりに選択文字列は切り取りされます。



つまり、AHKがキー入力を監視し、スクリプト内で定義されているトリガーを検出したら、指定したアクションに変換するという役割を担っているといえます。(あくまでイメージです)

以上の動作原理を何となくおさえておくと、スクリプトが書きやすくなると思います。

まとめ

今回は、AHKの概要と、利用を推奨する理由に関して書きました。

次回 はAHKや各種ツールのインストールなど、環境構築の回とします。