文章を書いていると、常に半角で入力したい文字というのは結構あるのです。
スペースやテンキーからの数字は常に半角で入力したい。というこだわりの強い方は結構いらっしゃいますね。
私はそれに加えてかっこ()なんかは全角では無駄なスペースを取りすぎるので、常に半角で入力したい人間です。
スペースや数字は比較的簡単にこういう設定ができるのですが、それ以外の文字は一筋縄ではいきません。今回はその方法を紹介していきます。
スペース
これは非常に簡単で、IMEの設定を変えるだけでできます。
今回はGoogle 日本語入力で説明していきます。
まず、タスクバーのGoogle 日本語入力のアイコンを右クリックしてプロパティを選択します。
出てきたプロパティ画面で、スペースの入力で半角を選択すると、常にスペースが半角として入力されるようになります。
テンキーからの数字
これも上と同じですね。
プロパティ画面で、テンキーからの入力を半角にするだけです。
その他の文字
これが問題です。IMEのプロパティにはありませんからね…
方法
仕事効率化三銃士が一角 AHK(AutoHotKey)さんにご登場いただきます。
AHKはその名の通りホットキーを設定できます。例えばShift+1を押したときにCtrl+Cが入力される、なんてことができます。
この機能を使って、Shift+8を入力したとき、IMEを半角に → Shift+8を入力(半角のかっこが入力される。) → IMEを元の状態に戻す。という一連の動きをさせます。
なかなか面倒くさいですね…
準備
AHK本体の導入は長くなるのでこちらから
これだけではIMEの変更ができないので、そのための準備をします。
こちらからIME20121110.zipをダウンロードした後、中にあるIME.ahkを、これから作るahkファイルと同じ階層にコピペしてください。
これだけで使えるようになりますが、IME.ahkの中身に動作を確認するコードが書かれているため、その部分を削除もしくは/* */
で囲んでコメントにしてください。
設定
メモ帳を開いて、以下のように記述します。+8(Shift+8という意味)の場所を常に半角で入力したい文字に変更してください。
#Include IME.ahk
#UseHook
+8::
ime_mode := IME_GET()
IME_SET(0)
Send, +8
IME_SET(ime_mode)
Return
+9::
ime_mode := IME_GET()
IME_SET(0)
Send, +9
IME_SET(ime_mode)
Return
#UseHook Off
それぞれ何をやっているかは下の解説で
#Include IME.ahk /*IME.ahkを使えるようにする*/
#UseHook /*UseHookからUseHook Offで囲まれた範囲はフックを使う*/
+8:: /*Shift+8を以下に変更*/
ime_mode := IME_GET() /*現在のIMEモードを取得*/
IME_SET(0) /*IMEを半角に設定*/
Send, +8 /*Shift+8を入力*/
IME_SET(ime_mode) /*元のIMEモードに設定*/
Return
#UseHook Off
ただホットキーを設定するだけならUseHookを使う必要はないのですが、定義するキーと送るキーが同じ今回のような場合だと無限ループっぽくなってしまいエラーを吐き出します。これを回避するためにフックで囲んでいます。
これを好きな名前.ahkで保存して、ダブルクリックして起動すれば完了です。
まとめ
全角と半角が交じる文章は、切り替えだけでも労力がかかるもので、さらに間違って全角で入力してしまえばストレスもさることです。
設定が面倒だと思うかもしれませんが、2度つまずいたらその原因を変えてしまったほうが良いのです。
一日苦労する方が一生転び続けるよりよっぽどましですからね。