MB13が摂取したもの

読んだもの、見たもの、食べたものなど、外から取り入れたもの全般についての感想を書いておくチラシの裏

二つのインプットメソッドを楽に入れ替える方法?

日本語のインプットメソッド(mozc,anthy)しか使わない場合、普通は日本語と直接入力をC-\で入れ替えていて大きな不都合もない*1。ところが、日本語ともうひとつ別のインプットメソッドを利用したいという場合、とくに一つの文章の中でそれが入り交じるという場合、とんでもなく面倒な事になる。

例えば以下のような文章を書く場合を取り上げて考えてみる。

III 転化・発現を示すстать・оказаться等とともに用いられる造格

この場合、私は

  1. C-\ (.emacsでデフォルトに設定されているmozc.elが立ち上げる)
  2. ”III 転化・発現を示す”と入力
  3. C-x RET C-\ cyrillic-jcuken (ロシア語インプットメソッドに切り替え)
  4. ”стать・оказаться”と入力
  5. C-x RET C-\ japanese-mozc(日本語インプットメソッドに切り替え)
  6. ”等とともに用いられる造格”と入力

これだけの行為が必要になるのだ。本当に面倒面倒。
ちなみにWindowsでもC-x RET C-\ hogehoge の部分が[Alt]+[Shift]に変わるだけで、いちいちインプットメソッドを入れ替える必要があるのは同じなのだが、押さなければならないボタンの数が全然違うので、その面倒さは比べるべくもない。

ただしC-x RET C-\ではコマンド実行時選択していたインプットメソッドが保存され、デフォルト候補として表示されるようなので、もしも2つの言語の入れ替えだけで良いならば、二回目以降はいちいちインプットメソッド名を入力する必要はないようだ。

そこで、C-x RET C-\を[半角全角]で行う設定を.emacsに追加してみた

;; 半角/全角でC-x RET C-\
;;
(define-key global-map [zenkaku-hankaku] (kbd "C-x RET C-\\"))

これで、一度両方を入れ替えれば、そのあとは[半角/全角]で入れ替わるように…… なったのかこれ?
一応入れ替わりは成功し、無事にかけるのだが、どうもメニューバーのインプットメソッド表示が不安定になったり、mozcから変えるときに”wrong response from server”とエラーが表示されたりする。
どうもmozcの設定のせいだろうが、そこまで調べる気力は今無いので、また今度。

参考

*1:[全角/半角]ワンボタンで切り替えたいとか、場所が押しにくいとか好みはあるだろうけれども