• mozc.elを用いた日本語入力速度改善
  • 変換候補の出し方がポイント

困りごと

長い日本語の変換を行おうとすると,入力が表示されなくなりカーソル反応が帰ってこないことがありました.

日本語入力を行っている環境は

  • GNU Emacs 25.2.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.9)
  • Ubuntu16.04
  • mozc.el (apt-get で入れた emacs-mozc packageに付属しているもの)

ブラウザなどemacs以外で入力する際には速度に不満はなかったので放置していたが, どうしても日本語の長文を書くときに困るのでなんとかしたかった.
(見ての通り表示もガタガタでひどい…)

Figure 1: overlay

Figure 1: overlay

解決策

mozc関係のカスタマイズ変数を見ていて出てきたのがこの変数 mozc-candidate-style

Figure 2: customization

Figure 2: customization

デフォルトの動作設定になっているoverlay表示(windowsなどの日本語入力でよくある日本語の変換候補をカーソルのすぐ下に出てくる表示)が悪さをしていたようで,候補の表示を以下の方法で変更すれば解決しました.

(setq mozc-candidate-style 'echo-area)
Figure 3: echo-area

Figure 3: echo-area

このようにミニバッファ内で変換候補が表示されます.

変換候補の選択は

  • GUIではTab,Space,上下キーまたは数字キー
  • CLIだとSpace,上下キー,数字キー

での選択となります.

CUIでTabが効かないのは少し不便ですが,ここらへんは端末の設定などにもよると思われます.

やってみて

変換候補がミニバッファ内で表示されるようになり,今までのイライラは何だったのかと思うほど高速に動作するようになりました. (たしかに,popupして補完表示系も表示が崩れたり,動作が不安定なことがあったなぁと思ったり)

しかも,入力の高速化以外にもミニバッファに表示することで少し変化があったのが,

  • 日本語の変換をほとんど見ずに変換
    -> ミニバッファに表示することで目の移動が多くなるかとも思ったけど,そもそも見なくなった
  • overlay表示でコードや文章が隠れることがない
    -> 入力してる際にも,他の部分を見れるのは良い
  • CLI内でemacsを開いたときも同じ見た目?インターフェースになる
    -> 実際,CLI内での動作も体感では高速に

最後に

想像以上に快適に操作できるようになりました.
日本語書かなくても良いように英語ができるようになれば困らないんだけどなぁ