Vimで日本語入力を自動で切り替える(MacVim)
日本語入力のオンオフで悩まされるのはもうごめんですっ!!
Vimを使っているとノーマルモードで日本語入力がオンになっていて、誤作動。
「ふがぁ〜」となることが多いので、Insert-modeを抜けたらすぐに日本語入力をOFFにする設定をしてみました。ついでにVimを起動したときにも日本語の入力をオフにするようにしています
autocmd VimEnter,GUIEnter,BufEnter,BufNew,InsertLeave * call g:changeToUS()
function! g:changeToUS()
call system ("osascript -e \'"
\ ."tell application \"MacVim\" to activate \n"
\ ."tell application \"System Events\" \n"
\ ."tell application process \"MacVim\" \n"
\ ."key code 102 \n"
\ ."end tell \n"
\ ."end tell \n\'")
endfunction
Vimの中からosascriptを呼び出して、AppleScriptで英数キーをたたいているだけなのでたいしたことはしていません。
この設定ですが、いくつか問題があります。
1つ目は
タイミングの関係でATOK、ことえりの英字入力は使えません。
言語環境設定からATOK、ことえりの英字入力をオフにしてUSモードをオンにしてください。
2つ目は
またインサートモードを抜けたタイミングでUSに切り替えをしてしまうので、
inoremap <C-e> <C-o>$ と設定してC-eした場合USモードへの切替が行われます。
まぁ、副作用はあるものの、ノーマルモードで日本語入力がオンになるよりは、使い勝手がよくなると思います。かなり便利な設定だと思うので、使ってみてください。
でわでわ、たかともでした。
