Ubuntu8.10 + uim-anthy + gvim

先日のエントリでやろうと思っていたuim-anthyを導入しようと思います。
これが何が便利かと言うと、uimにVi協調モードというのがあって、それにより

コマンドモード > インサートモード > ひらがな入力 > ESCでインサートモードを抜ける > コマンドモードで最初から英数

ってのが可能になります。Unixだと

コマンドモード > インサートモード > ひらがな入力 > ESCでインサートモードを抜ける > コマンドモードで最初からひらがな

ということになるので、ESCで抜けた後再度「英数」に戻してやる必要があるのです...
WindowsKaoriyaとかでは.vimrcで設定されているのでESCで抜けた後、英数になるのですが、Unix系ではどうしても設定できませんでした...
理由はどうもvimがIMのひらがなと英数を判別できないからだそうで、たしかにマニュアルを見てもIMEの状態は取得できても、XIMも状態は取得できない感じでした。

まあ実際Windowsvimに慣れているといかに不便かがわかると思います。
超不便です。正直これだとgvim使って日本語打とうという気が起きません。
そこでuimの出番というわけです。

インストール

とりあえず必要なパッケージをインストール
$ sudo apt-get install uim uim-xim uim-applet-gnome uim-anthy

UbuntuのデフォルトのSCIMからuimに切り替え

下記コマンドにて、uim-toolbarを選択します。
$ im-switch -c

There are 11 candidates which provide IM for /home/orangehat/.xinput.d/ja_JP:

  Selection    Alternative
  -----------------------------------------------
      1        default
      2        default-xim
      3        none
      4        scim
      5        scim-bridge
      6        scim-immodule
      7        th-xim
      8        uim
      9        uim-systray
*     10        uim-toolbar
      11        uim-toolbar-qt
System wide default for ja_JP (or all_ALL) locale is marked with [+].
Press enter to keep the current selection[*], or type selection number: 

日本語変換をuim

下記コマンドにて、/etc/X11/xinit/xinput.d/uim-toolbarを選択します。
$ sudo update-alternatives --config xinput-ja_JP

`xinput-ja_JP' を提供する 7 個の alternatives があります。

  選択肢       alternative
-----------------------------------------------
          1    /etc/X11/xinit/xinput.d/scim
          2    /etc/X11/xinit/xinput.d/scim-immodule
 +        3    /etc/X11/xinit/xinput.d/scim-bridge
          4    /etc/X11/xinit/xinput.d/uim
*         5    /etc/X11/xinit/xinput.d/uim-toolbar
          6    /etc/X11/xinit/xinput.d/uim-systray
          7    /etc/X11/xinit/xinput.d/uim-toolbar-qt

デフォルト[*] のままにするには Enter、さもなければ選択肢の番号のキーを押してください: 
んでもってその後下記修正。
$ sudo vi /etc/X11/xinit/xinput.d/uim-toolbar
XMODIFIERS=@im=uim                                     <--追加

で、再ログイン。
その後、uimツールバーより設定 > Anthy(高度) > vi協調モードを有効にするにチェック

最初.gvimrcに下記を書いていたため、どうもgvimのみ動かなかった。。。

let GTK_IM_MODULE=uim-anthy

消したらちゃん思い通りにと動くように!!
スバラシイ!! vi最高やわ、やっぱり

で、今回思わぬ収穫がひとつありました。
主要開発はJavaなので、どうしてもあの補完機能から離れられずEclipseを使っているのですが、余りにも使いにくいので、プラグインviPluginキーバインドをviにしています。
こいつもESCで抜けた後、ひらがなになりやがって非常にイライラしていたのですが、こいつも同時に直ってしまいました!!
本当はvim関連のみuim-anthyを使うよう設定するつもりでしたが、もうこれはXwindow全体に設定するので間違いなかったですね。

追記

上記ではim-switchとupdate-alternatives --config xinput-ja_JPの両方を使ってますが、どうもどっちかでいいっぽいですね。
ココ見る限り。