VimでEsc
キーやCtrl+[
キーを押してノーマルモードに戻ったときはIMEはオフになってほしいというのが、全Vimmerの願いだと思う。MacOSだと Karabiner-Elements を使う方法が有名だが、Windowsでのいいやり方がぱっとググっても見つからなかったので、専用のツールを作った。
ソースコード
koirand/vimmer-ahk: Turn off IME when press Esc key or Ctrl+[ key
使い方
Releases
ページにあるvimmer-akh.exe
を実行すると常駐するので、その状態でVimを使うと幸せになれる。
WSLでもIDEのVim拡張機能でも何でもござれ。
exeファイルを以下のフォルダに配置しておくと、Windows起動時に自動起動する。
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
仕組み
AutoHotkey を使って作成した。 AutoHotkeyはキーバインドを自在にカスタムできるスクリプト言語で、スクリプトをコンパイルしてexeファイルにすることもできる。 下記サイトでAutoHotkeyでIMEを制御できる関数が提供されていたので有り難く拝借した。
拝借した関数を除くと、自分で書いたコードは下記の2行だけなので大したことはしていない。
~Esc::IME_SET(0)
~^[::IME_SET(0)
似た事例として、Altキー単体でIMEをオン/オフするツールを見つけた。併用すると便利かも。