WSLのvimでインサートモードを抜けたら日本語入力OFF
問題
vimで、インサートモードを抜けたら日本語入力も解除してほしい。
答え
以下のような手段がある。
im-select、zenhan は .vimrc に以下のような設定を追加すると使える。
augroup WSLZenhan autocmd! autocmd InsertLeave * :call system('/mnt/c/{保存先}/zenhan.exe 0') autocmd CmdlineLeave * :call system('/mnt/c/{保存先}/zenhan.exe 0') augroup END
上記は、単純に日本語入力を解除する例。
インサートモードで日本語入力ONだったかOFFだったか状態も保持して、インサートモード復帰時に状態も元に戻したいときは、もうちょっと複雑になる。
zenhan.exe はどうも動きがもっさりしているというか、タイムラグがあるというか、コマンドモードに戻るときなどに画面表示がおかしくなるような動きをする(私の環境では)。
im-select は確認していない。
vim側から何とかするのではなく、Windows側から、「Esc押下、Ctrl+[ 押下で、日本語入力解除するだけ」を実現するには vimmer-ahk が一番いい動きをしているように思う。
コメント