gvimのiminsertが利かない→ATOKで解決!

日本語入力がUbuntuデフォルト状態のscimだとgvimのiminsertが利かなくて困っていたのだがATOKにしたらうまく動くようになった。

if has('multi_byte_ime') || has('xim')
  " 挿入モード・検索モードでのデフォルトのIME状態設定
  set iminsert=0 imsearch=0
  if has('xim') && has('GUI_GTK')
    set imactivatekey=C-space
  endif
  " 挿入モードでのIME状態を記憶させない
  inoremap <silent> <ESC> <ESC>:set iminsert=0<CR>
endif

.gvimrcでこんな設定をしてあって、挿入モードから抜けると日本語入力をオフにするようにしていたんだが、scimではiminsertが思ったように機能してくれず、挿入モードから抜けても日本語入力がオフにはなってくれなかった。
コマンドモードに戻ったら普通はコマンドを入力するんだから日本語入力はオフになってほしいわけだ。

ATOKで期待通りの動作になった

ATOKを入れたら今度は各モードに切り替わる毎(?)に日本語入力がオンになるというもっと困った状態になったのだが、http://memo.officebrook.net/20080306.htmlを参考にして同じ設定をしたところ、見事に当初の期待通りの動きになった。
scimと同じ挙動(=制御できない)だったとしても諦めようと思っていただけにこれは嬉しい。


/home/ユーザ/binにこんなスクリプトを置いておくことでどっから起動しても大丈夫になった。

#!/bin/bash
GTK_IM_MODULE=xim /usr/bin/gvim $@


あとは2Dの描画が快適になればWindowsで使ってた頃と同じ感覚で使えるようになるな。