Vimで日本語入力を自動で切り替える(MacVim)

Mac

日本語入力のオンオフで悩まされるのはもうごめんですっ!!

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モードへの切替が行われます。

まぁ、副作用はあるものの、ノーマルモードで日本語入力がオンになるよりは、使い勝手がよくなると思います。かなり便利な設定だと思うので、使ってみてください。

でわでわ、たかともでした。

Tags:

コメントはありません

コメント »

コメントはまだありません。

コメントする

Get Adobe Flash playerPlugin by wpburn.com wordpress themes