vim の挿入 (insert) モードでの編集時に何かの拍子で日本語入力モードになってしまうと、抜けるのが困難になります。それどころか vim を終了させることもできません。結論としては、私の環境 (MacOSX 10.11 + VMWare Fusion 8.1 + vinelinux 3.2) では、
- shift + space
とすると英数字 (アルファベット) 入力モードに戻ることが分かりました。これで、esc してコマンドモードに戻り、意図的でない編集を u で戻すなり、q! でファイルを保存せずに閉じるなり、すればいいわけです。
また、上記のように無理に終了させなくても、"shift + space" で英数字入力モードに切り替えれば OK なのが分かったのですが、とりあえずとにかく (泣)、英数字入力モードにする方法が分からない状態で、 vim を終了させる方法もあげておきます:
- なんらかの方法で caps lock がかかった状態にする
- ESC を押してコマンドモードに入る
- ZZ と入力する
です。caps lock だとアルファベットが勝手に仮名にならず、なおかつ大文字で入力されるというのがポイントです。私自身、ZZ で終了できるのは知りませんでした…
(ZZ を教えてもらったサイト)
ちなみに、この辺りのことを調べる際に、こういう不便をなくす方法についての記事がいくつか出てきました。(というか、今はそれが欲しい情報じゃなく、とにかく日本語から抜けるなり、vim を終了させるなりしたかったんだよ…(泣)。まあ、これらの記事をあげてくださった方が悪いんじゃないですよ。責任転嫁したくなりますが…) いずれ対応したいなと思い、こちらに挙げておきます: