Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vim 英数入力に自動で切り替える神スクリプト

$
0
0

Vim のノーマルモードであぁぁー!ってなってイライラすることありますよね。

ググっても、なかなか理想的なソリューションが見つからず諦めていましたが、
英数入力に切り替えるのは AppleScript 使えばいい感じにできんじゃね?と思いついてしまいました。

次に2つの場合に自動的に切り替えられます。

  • インサートモードを抜けてノーマルモードになった時
  • アプリケーション移動で Vim にフォーカスが移った時
if executable('osascript')lets:keycode_jis_eisuu =102letg:force_alphanumeric_input_command ="osascript -e 'tell application \"System Events\" to key code " . s:keycode_jis_eisuu . "' &"inoremap<silent><Esc><Esc>:call system(g:force_alphanumeric_input_command)<CR>

  autocmd!FocusGained *
    \ call system(g:force_alphanumeric_input_command)endif

実は、入力ソースを切り替える方法でかなり試行錯誤しました。
例えば、ここにある方法では、
ATOK や Google 日本語入力を入れている場合では入力ソースの名前が異なるため厄介なのと、
GUI 操作をするので、Accessibility で許可しなければならない上処理が遅い問題がありました。
そこで、「英数に切り替えるためのキーコード」をシステムに送信するという全く異なるアプローチを取ることにしました。

ちなみに、私の vimrc は Github で公開されていますのでよかったらご参考に。

creasty/dotfiles


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>