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

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

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

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

“AutoHotKey で省入力/キーアサイメント変更などやってみよう”の続きを読む

AHKスクリプトを作ったら、おまじないを追加する

AutoHotKeyを使う準備をする」の記事にしたがってAutoHotKeyのスクリプトファイルを作成すると、ファイルの中身は以下のような記述になっていると思います。

“AHKスクリプトを作ったら、おまじないを追加する”の続きを読む

AutoHotKeyを使う準備をする

AutoHotKeyをインストールする」の記事にしたがって、AutoHotKeyのインストールが終わったら、AutoHotKeyを実際に使うための準備をします。

具体的には、AutoHotKeyのスクリプトファイルを作成し、編集できるようにする手順を以下に示します。

“AutoHotKeyを使う準備をする”の続きを読む

AutoHotKeyをインストールする

AutoHotKey にはさまざまな機能がありますが、翻訳者にとって嬉しいのは、キー入力をいろいろと便利にしてくれる機能でしょう。そのため、このツールを利用している翻訳者は多いようです。

過去記事を見渡してみましたが、AutoHotKeyのインストール方法を記事にしていないようなので、こちらにインストール方法をまとめておきます。

“AutoHotKeyをインストールする”の続きを読む

[AHK] ホットキー設定ヘルパー

西の方でAutoHotKeyのセミナーがあったようなので、ひとつ話題を投入しておく。

AutoHotKeyのスクリプトを書く際、キーコードで悩むことがありますが、それを簡単に出力してくれるスクリプトが無料で公開されているのをご存じでしょうか?

翻訳者には有名だと思いますが、内山卓則さんが開発されたAHK版「かんざし」に「ホットキー設定ヘルパー.ahk」というスクリプトが同梱されています。これが非常に便利で、スクリプトに記述するキーコードを、該当するキーを押すだけで出力してくれます。

このスクリプトを実行すると、以下のようなダイアログボックスが現れます。

スクリーンショット 2019-04-09 21.39.16

ここで、コードを知りたいキーの組合わせを押すと、「スクリプトに記述するコード」にコードが出力されるようになっています。出力されたコードをコピーして、スクリプトにペーストするだけという手軽さ。

スクリーンショット 2019-04-09 21.48.23

例えば、Ctrl + Alt + W のキーコードを知りたい場合は、その通りにキー操作すれば、こんな感じでコードが出力されます。出力された「^!w」をスクリプトに記述すれば良いことになりますね。

 

私は以前からこのスクリプトにお世話になっています。AutoHotKey でスクリプトを書く方は利用してみては如何でしょうか?

AutoHotKeyでEBWin4検索 パート3

帽子屋さんこと高橋聡さんがブログで「# 複数単語(連語)の検索方法 – EBWin4」という記事を公開されました。この記事の中で、熟語検索をするなら単語間スペースなしの条件検索が良いと書かれています。

ということで以前公開した AutoHotKey スクリプトを、これに対応するように作り変えてみました。

以前紹介したスクリプトは、単語の検索と連語の検索でEBWin4の検索モードを切り替えるように作ってありました。その「連語の検索」で条件検索が行われるように変更しました。具体的には、EBWin4を呼び出すときのスイッチをkに変えたことと、検索文字列の中の半角スペースをすべて削除するようにスクリプト追加しました。1単語だけ指定のときは前方検索連続した2単語以上を指定したときは条件検索になります。

; ━━━━━━━━━━━━━━━━━━━━━━━━━━━
; ● Control + Shift + E でEBWin4検索
; EBWin4 Ver. 4.4.4 以降で動作します
; http://ebstudio.info/manual/EBWin4/EBWin4.html
; ――――――――――――――――――――――――――――――――――
^+e::
 Backup := ClipboardAll
 clipboard = 
 Send ^c
 ClipWait, 1
 keyword = %clipboard%
 Clipboard := Backup
 Backup =
 keyword := trim(keyword)
 if strlen(keyword) = 0
    {
    msgbox, 検索する文字列を範囲指定してから実行してください。
    return
    }
; EBWin4 のコマンド引数; /M= p[refix]|s[suffix]|e[xact]|c[rossword]|k[eyword]|f[ull text]|a[uto]
; p:前方一致, s:後方一致, e:完全一致, c:クロス条件検索, k:条件検索, f:全文検索, a:自動検索
 if Instr(keyword, " ")
    {
    StringReplace, keyword, keyword, %A_Space%, , All
    RUN C:\Program Files (x86)\EBWin4\EBWin4.exe /M=k /S="%keyword%"
    } else {
    RUN C:\Program Files (x86)\EBWin4\EBWin4.exe /M=p /S="%keyword%"
    }
return

 

WildLight

前回の記事を書いたとき、単語を選択した場合と連語を選択した場合で、辞書引きのモードを切り替えられたらいいなぁと思い、EBWin4のマニュアルで調べたのですが、コマンド引数で検索モードを切り替えることができないことが分かりました。

そこで、EBwinのサポート掲示板に「お願い」書き込んだところ、作者のhishidaさんが、もの凄い速さで対応してくださり、Ver. 4.4.4 として公開されました。hishidaさんにはこの場を借りて、厚くお礼申し上げます。(EBWin4: http://ebstudio.info/manual/EBWin4/EBWin4.html )

検索モードをコマンド引数で切り替えられるようになりましたので、さっそく、先のスクリプトを修正いたしました。このスクリプトでは英語(1バイト言語)において、単語の検索と連語の検索で検索モードを切り替えています。私は1単語だけ指定のときは前方検索連続した2単語以上を指定したときは全文検索する場合が多いので、そういう設定で作ってあります。

; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
; ● Control + Shift + E でEBWin4検索
; EBWin4 Ver. 4.4.4 以降で動作します
; http://ebstudio.info/manual/EBWin4/EBWin4.html
; ――――――――――――――――――――――――――――――――――
^+e::
    Backup := ClipboardAll
    clipboard =
    Send ^c
    ClipWait, 1
    keyword = %clipboard%
    Clipboard := Backup
    Backup =
    keyword := trim(keyword)

    if strlen(keyword) = 0
        {
            msgbox, 検索する文字列を範囲指定してから実行してください。
            return
        }

;   EBWin4 のコマンド引数
;   /M= p[refix]|s[suffix]|e[xact]|c[rossword]|k[eyword]|f[ull text]|a[uto]     
;   p:前方一致, s:後方一致, e:完全一致, c:クロス条件検索, k:条件検索, f:全文検索, a:自動検索       
    if Instr(keyword, " ")
        {
        RUN C:Program Files (x86)EBWin4EBWin4.exe /M=f /S="%keyword%"
        } else {
        RUN C:Program Files (x86)EBWin4EBWin4.exe /M=p /S="%keyword%"
        }

return
  • このスクリプトは EBWin4 の Ver. 4.4.4 以降で動作します。
  • 検索モードは、自分の好みに変更してお使いください。
  • ショートカットキーも、自分の好みに変更してお使いください。(上記スクリプトでは Ctrl + Shift + e になっています)

元の投稿を表示

[AHK] 範囲指定した文字列をWクォーテーションで括る

SNSで「範囲指定した文字列の前後にダブルクォーテーションを付けて貼り付る」ためのAHKスクリプトの質問がありました。

; Alt + Q でダブルクオテーションマークを前後に付与する
!Q::
Send, ^c
Clipboard = "%Clipboard%"
Send, ^v
Return

何のエラー対策もしていませんが、取りあえず必要な機能は実現していると思います。文字列を範囲指定して Alt + Q を押すと、範囲指定した文字列の前後にダブルクォーテーションが付きます。

やっていること:

  1. Ctrl + C を送信し、範囲指定している文字列をクリップボードに入れます。
  2. クリップボードの内容の前後にダブルクォーテーションを付けて、クリップボードに戻します。
  3. Ctrl + V を送信し、クリップボードの内容を範囲指定している文字列へ上書きします。

実用的なスクリプトにするには、「範囲指定文字列が無い時の処理」と「元々入っていたクリップボードの内容のバックアップと復元」ですかね。ダブルクォーテーションをカギ括弧や丸括弧にしても役立ちそうですね。

お試しください。

AutoHotKeyでEBWin4検索 パート2

前回の記事を書いたとき、単語を選択した場合と連語を選択した場合で、辞書引きのモードを切り替えられたらいいなぁと思い、EBWin4のマニュアルで調べたのですが、コマンド引数で検索モードを切り替えることができないことが分かりました。

そこで、EBwinのサポート掲示板に「お願い」書き込んだところ、作者のhishidaさんが、もの凄い速さで対応してくださり、Ver. 4.4.4 として公開されました。hishidaさんにはこの場を借りて、厚くお礼申し上げます。(EBWin4: http://ebstudio.info/manual/EBWin4/EBWin4.html )

検索モードをコマンド引数で切り替えられるようになりましたので、さっそく、先のスクリプトを修正いたしました。このスクリプトでは英語(1バイト言語)において、単語の検索と連語の検索で検索モードを切り替えています。私は1単語だけ指定のときは前方検索連続した2単語以上を指定したときは全文検索する場合が多いので、そういう設定で作ってあります。

; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
; ● Control + Shift + E でEBWin4検索
; EBWin4 Ver. 4.4.4 以降で動作します
; http://ebstudio.info/manual/EBWin4/EBWin4.html
; ――――――――――――――――――――――――――――――――――
^+e::
    Backup := ClipboardAll
    clipboard =
    Send ^c
    ClipWait, 1
    keyword = %clipboard%
    Clipboard := Backup
    Backup =
    keyword := trim(keyword)

    if strlen(keyword) = 0
        {
            msgbox, 検索する文字列を範囲指定してから実行してください。
            return
        }

;   EBWin4 のコマンド引数
;   /M= p[refix]|s[suffix]|e[xact]|c[rossword]|k[eyword]|f[ull text]|a[uto]     
;   p:前方一致, s:後方一致, e:完全一致, c:クロス条件検索, k:条件検索, f:全文検索, a:自動検索       
    if Instr(keyword, " ")
        {
        RUN C:\Program Files (x86)\EBWin4\EBWin4.exe /M=f /S="%keyword%"
        } else {
        RUN C:\Program Files (x86)\EBWin4\EBWin4.exe /M=p /S="%keyword%"
        }

return
  • このスクリプトは EBWin4 の Ver. 4.4.4 以降で動作します。
  • 検索モードは、自分の好みに変更してお使いください。
  • ショートカットキーも、自分の好みに変更してお使いください。(上記スクリプトでは Ctrl + Shift + e になっています)

AutoHotKeyでEBWin4検索

最近、仕事で使っていて手放せなくなった自作 AutoHotKey スクリプトを公開します。このスクリプトは、範囲指定した文字列をEBWin4で辞書引きするものです。

; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
; ● Control + Shift + E でEBWin4検索
; ―――――――――――――――――――――――――――――――
^+e::
    Backup := ClipboardAll
    clipboard =
    Send ^c
    ClipWait, 1
    keyword = %clipboard%
    Clipboard := Backup
    Backup =
    
    if strlen(keyword) = 0
        {
        msgbox, 検索する文字列を範囲指定してから実行してください。
        return
        }
    RUN C:\Program Files (x86)\EBWin4\EBWin4.exe /S="%keyword%"
return

使用する上での注意事項

  • 下から2行目は、EBWin4.exe のあるフォルダー名(C:\Program Files (x86)\EBWin4\)を、それぞれの環境に合わせて修正して使ってください。
  • キーの組合せは、Ctrl + Shift + E になっています(^+e)。適宜、自分の好みに合わせて変更してください。

 

ファイルリスト一覧作成 (ThisFolder2TextList)

コーディネータをやっていると、フォルダー内のファイル群をテキストリストにしたい場面がときどきあります。ここで紹介する ThisFolder2TextList を使用する前は、コマンドプロンプトを開いて、リスト化したいフォルダーまで移動した後、以下の文字列を入力してファイルリストを作成していました。

Dir /B > List.txt

ただし、下層フォルダーまではリストにしてくれないのです。あまり頻繁にあることではないのですが、下層フォルダーも含めてファイルリストを作りたいことがあるため、AutoHotKey でスクリプトを書いてEXE形式に変換したものを利用しています。

以下のリンクを開くと、WildLight共有フォルダーが開きますので、そこから「ThisFolder2TextList001b.zip」をダウンロードしてご利用ください。詳細は同梱されているテキストファイルをご参照ください。

https://app.box.com/v/WildLight