AutoHotKey で省入力/キーアサイメント変更などやってみよう

以下の別記事の内容を実行された方は、既にAutoHotKeyが使える状態にあると思います。

  1. AutoHotKeyをインストールする
  2. AutoHotKeyを使う準備をする
  3. AHKスクリプトを作ったら、おまじないを追加する

この記事では、比較的ハードルの低い「Hotstrings」の機能を使った文字入力の省力化を、まずはご紹介します。その後で、キーのアサイメントの変更方法をご紹介したいと思います。

理想的には AutoHotKeyのホームページにある「Hotstrings」のヘルプを読んで学習して欲しいのですが、ここではいくつかの使用例に絞って記述方法のサンプルを示したいと思います。
なお、AutoHotKeyは1バイト文字の入力にしか対応していないので、入力はすべて半角入力となります(IMEの切替が必要)。この点、ご注意ください。

1)キー入力文字の置換

1-1)略語の変換

略語を入力したら、スペルアウトさせる記述方法を記します。
例えば、asap と入力したら、as soon as possible と変換させるには、次のように記述します。

:R:asap::as soon as possible

コロン+R+コロン(:R:)を書いて、略語を書き、さらにコロン2つ(::)を書いて変換後の文字列を書きます。(コロンとRはすべて半角です)

この1文をスクリプトファイルに記述して上書き保存してから、スクリプトファイルをダブルクリックして実行してみてください。そして、メモ帳でもワードでもいいので開き、そこで「asap」と入力してスペースを押してみてください。そうすると入力した「asap」が「as soon as possible」で上書きされるはずです。

上手くいきましたか?

これを使えば、例えば「ATCA」と入力されたら「ATCA (Advanced Telecommunications Computing Architecture)」と変換させるようなこともできるわけです。

※注意)スクリプトへ変更を加えるたびに上書き保存して、スクリプトファイルをダブルクリックして実行してください。でないと、変更が反映されて実行されません。

:R:atca::ATCA (Advanced Telecommunications Computing Architecture)

変換後の文字列に2バイト文字を指定することができますから、例えば、「etsi」と入力されたら「欧州電気通信標準化機構」と置き換えさせることもできます。

:R:etsi::欧州電気通信標準化機構

翻訳の中で、どういう使い方ができるかイメージできたと思います。一度登録しておけば、スペルアウトする際に入力ミスを起こすといったことも防止できますので、省入力のみならず、ミス防止にも繋がります。
(※AHKヘルプでは「::btw::by the way」という記述が例として紹介されており、「:R:」ではないですが、今後使い込んでいくうちに出力結果から誤動作する可能性を払拭するため、ここでは敢えて「:R:」で紹介しています。「R」は置き換え文字をRawテキストで出力するという意味です。)

参考情報ですが、ここで紹介した記述(「:R:」)では、必ず終了文字(Ending Character)が入力されないと置換が始まりません。終了文字とは、半角スペースやEnterなどです。(終了文字の詳細はAutoHotKeyのヘルプを参照ください)
終了文字を待つことなく「asap」と入力されたら即置換したい場合は、以下のように記述します。

:*R:asap::as soon as possible

Rの前に「*」(アスタリスク)を追加します。これにより終了文字を待つことなく置換が実行されます。

1-2)特殊文字などへの置き換え(入力)

入力に手間の掛かる特殊文字などを、決められた文字列を入力することで出力させるような使い方にも使えます。例えば、n@と入力したらen dash (Alt + 0150)を、m@と入力したらem dash (Alt + 0151)を出力させるといったこともできます

:*R:n@::–
:*R:m@::—

こういった特殊文字の入力には手間が掛かるものがありますが、それをAHKに登録しておけば、通常の文字入力の範疇で入力できるようになります。

1-3)速記的入力

1-1)の記述を応用すると、入力文字数を最少化した速記的入力ができそうです。
対象は頻出する単語や表現のうち、文字数の多いものになると思います。入力する短縮語は、覚えやすいように自分なりのルールを決めておくと良いと思います。

以下の本の内容を一部引用して、具体的な記述例を挙げてみます。

Learn how to Type Faster immediately using Keyboard Shorthand and Save Time」(著者: Brian Helweg-Larsen氏)

速記略語単語
tthe
wswas
ttthat
yyou
fof
nand
wwith
oto
速記略語の例

これら記述すると以下のようになります。

:R:t::the
:R:ws::was
:R:tt::that
:R:y::you
:R:f::of
:R:n::and
:R:w::with
:R:o::to

入力に慣れるまで大変ですが、一度、慣れてしまえばキー入力時間をかなり短縮できるはずです。また、1バイト文字言語であれば、同様のアプローチが採れるはずです。
日本語にも使えそうですが、IMEを半角・全角と切り替えつつ使うことになるので、あまり実用的ではないと思います。

1-4)括弧など対になったものの入力支援

対になったもの、例えば括弧の入力支援をさせます。「(」と入力したら、自動的に「)」が入力され、括弧の間にカーソルが移動するようにします。

:*B0:(::){left 1}

コロン、*(アスタリスク)、B、0(ゼロ)、コロン、を書いてから半角の括弧開く「(」、そしてコロン2つを書いてから、半角の括弧閉じる「)」。最後の「{left 1}」は、カーソルを左へ1つ移動するという意味です。
この記述方法を使うと、いろいろなことに使えます。例えば、対になったタグを書くような仕事の場合、以下のような記述をすることができます。

:*B0:<script>::</script>{left 9}

「<script>」と入力すると「<script></script>」と自動入力され、カーソルが「><」の間でとまります。

2)キーアサイメントの変更

翻訳者はキーボードを常に操作して仕事をしていますので、操作するキーを、ホームポジションの近くにまとめた方が、作業効率が上がり、また、指や手への負担が軽減します。

ここでは、簡単な記述でキーのアサイメントが変更できる方法を記します。

vk1D::vkF4

この記述は、私のAutoHotKey.ahkに登録されて実際に使っているものです。
これは「無変換キー」に「半角/全角」キーの代りをさせる記述になっています。つまり、「無変換キー」を押すたびに、IMEが半角になったり全角になったり切り替わります。「半角/全角」キーが遠いのでこんな設定にしています。

「vk1D」が「無変換キー」、「vkF4」が「半角/全角キー」を表わしています。つまり、代わりに使うキー、コロン2つ(::)、元のキー、という記述になります。

キー記述
無変換vk1D
変換vk1C
半角/全角vkF4
カタカナ/ひらがなvkF2
Alt!
Shift+
Ctrl^
Win#
Back SpaceBS
もしくは
Backspace
キーと記述文字列

上の表はキーと、スクリプトに記述する文字列の関係表です。詳しくはAutoHotKeyのヘルプを参照してください。
私は、他にも以下のような記述を盛り込んでいます。これは変換キーにBack Spaceキーの代りをさせているものです。

vk1C::BS

あとがき

最初の一歩として、比較的簡単に記述できるものを選んで記事にしてみました。この記事を読めば、具体的に翻訳の仕事でどういう活用/応用ができるかイメージできるのではないかと思います。
まずは、やってみることが大切ですが、是非、トライしてみてください。

みなさまのお仕事のお役に立てば幸いです。

投稿者: Terry Saito

二足の草鞋を履く実務翻訳者です。某社で翻訳コーディネーター、社内翻訳者をやっていました。 詳細は、以下のURLよりどうぞ。 https://terrysaito.com/about/

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。