過去にも何度か取り上げてきましたが、Linuxでの日本語制御にはとても難しい問題が常につきまといます。
私は以前から書いているとおりXubuntuを使っているのですが、iBusに愛想を尽かして以降はUIMでMozcを使うようになっていました。しかし結構な頻度で、急にIMが利用できなくなってしまうという現象に見舞われていました。それはIMを通じた入力ができなくなる(英語は入力できる)という現象で、VimからだけではなくChromeでも同様の症状に悩まされていました。
あたかもIMから切断されたような、この現象の原因はUIMではないかと推測し、とりあえずFcitxに切り替えてみようと思い、やってみることにしました。まずは Fcitx のインストールです。
$ sudo apt-get install fcitx fcitx-mozc
あとは設定マネージャから言語サポートを選択し、「キーボード入力に使うIMシステム」に fcitx
を変更、再起動。これでFcitxが使えるようになります。
残る問題はVimからのIM制御です。ということで、これをできるようにするプラグインを
作成し、imcsc-vim に fcitx-python として追加しときました。その際 fcitx-vim を パクり 参考にしました。
利用に必要なのは if_python が有効化された Vim (gvim) です。私はPython3で使ってますが一応Python2でも動くようにしたつもりです。if_python を有効にしたVimの作り方は vim-jp の説明を参照してください。
インストール方法ですが fcitx-py.vim と fcitx-py.py の2つのファイルをダウンロードして、あなたの ~/.vim/plugin
へコピーしちゃうのが一番簡単でしょう。パッケージマネージャとかを使っても良いですが、特に考慮したプロジェクト構成になってないので、ご自身の責任で。
この記事もVimで Fcitx + Mozc を使って書いているわけですが、IMから切断されることもなく、そこそこ快適に日本語入力できています。もし同様の現象で困っているようでしたら Fcitx を試してみることをおすすめいたします。