WindowsのVSCodeやJetBrains RiderでVIMを使うときESCでIMEをオフにする方法

Windows上のVSCodeやJetBrains RiderでVIMを使うとき、ESC押下でIMEをオフにする方法。

問題

WindowsのVSCodeのVim拡張やJetBrains RiderのIdeaVimで日本語入力中にESCを押下してコマンドモードに戻ると、IMEがオン状態ではコマンドがうまく入力できない。


対応

キー入力自動化ツールAutoHotkeyでESCキーダブルプレス時にIMEをオフにするスクリプトを作成する。

  1. AutoHotkey公式サイトからAutoHotkeyをダウンロードしてPCへインストール。
  2. 任意の場所に拡張子.ahkで新しいテキストファイルを作成する。
  3. 後述のサンプルソースコードのスクリプトをコピー&ペーストして保存する。
  4. 作成したAutoHotkeyスクリプトファイルを実行する。


サンプルソースコード

#If WinActive("ahk_exe rider64.exe") or WinActive("ahk_exe Code.exe")
  ~Esc::
    if (A_PriorHotkey = "~Esc" && A_TimeSincePriorHotkey < 400)
    {
      Send {vk1A}
    }
  return
#If

上記スクリプトを実行した状態でVSCode等でIMEがオンの状態からESCキーをダブルプレス(2回連続押下)すると、IMEがオフになり半角入力状態になります。

ESCキーをダブルプレスとしているのは、IME変換中にESCで取り消ししたいなどESC本来の機能を損なわないようにするためですので、1回押下で良いという方は適宜if文の部分を削除してください。


参考ウェブサイトなど


以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする