ほとラボ

It works!

Vimでコマンドモードに戻るときにIMEをオフにする

Vimあるある

(カタカタ...Escape...コロン,w,q...ッターン!)

無慈悲なIME

フウウウウウウゥゥゥゥゥゥ!?!!?

 

日本人Vimmerなら一度はやったことあると思う。

解決策

これをなんとかしたいと思ってるVimmerはたくさんいるので、 ググれば解決策がいくらでも出てくる。

1. KeyRemap4MacBook を使う方法

MacVim を使ってる人はこれが一番楽なのでは。

[KeyRemap4MacBookMac] Vimのインサートモードを抜けるときにIMEをオフにするKeyRemap4MacBookのprivate.xml設定 | memobits

でもなー、 US配列使っててもともと KeyRemap4MacBook 入れてるとかならともかく、 これだけのためにインストールするのもなー

[2015/12/02 追記] KeyRemap4MacBook は現在は Karabiner という名前になっています。

2. set imdisable する方法

vimrc に

set imdisable

と設定するだけ。簡単!

しかし KaoriYa版Vim(GVim,MacVim) 限定である。

サーバにsshしたときとかはもちろん使えない。

3. Google IME を使う方法

最終的にこの方法に落ち着いた。

Google IME の [環境設定] → [キー設定] に神オプションが。

このようにキー設定を追加する。

モード 入力キー コマンド
入力文字なし Escape キャンセル後 IME を無効化

これで挿入モードから抜けたときに自動でIMEがオフになる!
ローカルでもリモートでも!!

素晴らしい