37
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

Win版の VS Code+VSCodeVim でノーマルモードに戻った時にIMEを半角英数入力にする

VSCodeVimのreadme を見ると im-select を使えとのことでしたが、なんか思ってたのと違うっぽいのでWin32API叩いて半角/全角を切り替えることにしました。

プログラムを用意する

github: https://github.com/iuchim/zenhan
実行ファイル

自分でビルドするか上のzipファイルに入ってる zenhan.exe をお好きな場所にコピーしておいてください。
今回は C:\Users\foo\bin にコピーしたとします。

VSCodeVim の autoSwitchInputMethod を設定

settings.json に次の設定を追加します。

    "vim.autoSwitchInputMethod.enable": true,
    "vim.autoSwitchInputMethod.defaultIM": "0",
    "vim.autoSwitchInputMethod.obtainIMCmd": "C:\\users\\foo\\bin\\zenhan.exe",
    "vim.autoSwitchInputMethod.switchIMCmd": "C:\\users\\foo\\bin\\zenhan.exe {im}",

保存したら完了です。

この設定だと、インサートモードに戻った時にIMEの状態を復元してくれますが、個人的には半角のままのほうが好みなので obtainIMCmd を次のようにしています。

    "vim.autoSwitchInputMethod.obtainIMCmd": "C:\\users\\foo\\bin\\zenhan.exe 0",

参考にしたもの

大変参考になったというか、2つを混ぜて作りました。
ありがとうございます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
37
Help us understand the problem. What are the problem?