括弧のタッチタイピングができないので AutoHotkey で `a[[` で括弧 `()` を入力してカーソルを真ん中に持っていく Hotstring をつくった

括弧らへん(右上段 8,9 あたり)のタッチタイピングが全然身についてくれないので、AutoHotkey の Hotstring でカバーしてみることにした。

AutoHotkey コード

#Hotstring ? ;単語途中でも発動させる

::a[[::
  Clipboard = ()
  Send,^v
  SendInput {Left}
return

#Hotstring ?0

解説

Clipboard について

Hotstring で文字列を貼り付ける方法には二種類がある。Send でキー単位で送るのと、Clipboard で全部コピーしてから Ctrl + V を送るのと。前者は IME 状態に左右されるのがデメリット、後者はクリップボード内容が消えちゃうのがデメリット。……今回は IME に左右されず常に半角括弧を入れたかったのでクリップボードにした。

SendInput {Left} について

これは () 挿入後にカーソルをこの括弧の中に移動させる命令。Left キーを一回分送っているだけ。

#Hotstring ? について

これは Hotstring を単語途中でも発動させるためのオプション。これを有効にすると uaaaa[[ と打った時に uaaa() となる。uaaa…… と単語入力の途中で一致しているのに発動している(普通は誤発動防止のため発動しない)。

ただし、この言わば「誤発動防止を無効するオプション」をずっと無効化しておくと(この記述より先の HotString でも全部無効になっちゃってしまい)望ましくないので、#Hotstring ?0 で元に戻している。

感想

かなり便利。括弧 () は地味に多用するが、いままで 2 回に 1 回は間違っていた。これがほぼミスらなくなり、また手元を見たりすることもなくなった。

AutoHotkey は素晴らしい。

もう年だからか、タッチタイピングみたいな手続き記憶的なことがなかなか身についてくれないので、こういう機転は今後ますます大事になってくるかもしれない。