VSCODEVIM 这个插件自带了这个功能, 并不需要下载别的插件。 不过需要手动设置这个功能。
首先需要下载 im-select 这个工具
https://github.com/daipeihust/im-select#to-get-current-keyboard-locale
然后用它找出现在的键盘的输入法的ID, 只要切换完输入法再输入命令就能查到当前输入法的ID
im-select.exe 在 cmd.exe 下无法工作, 请使用 git-bash 或其它的 bash, 查出的英文输入法的ID是 1033, 这是美国英语。
而我是新西兰英语, 查出来 的ID是 5129
然后在VSCODE的 settings.json, 快捷键 Ctrl+, 然后搜 Vim, 再点 edit settings 就可以了
在文件中加入如下代码, im-select 的路径请根据你自己放的文件夹修改
"vim.autoSwitchInputMethod.enable": true, "vim.autoSwitchInputMethod.defaultIM": "5129", "vim.autoSwitchInputMethod.obtainIMCmd": "C:\\gre\\im-select\\im-select.exe", "vim.autoSwitchInputMethod.switchIMCmd": "C:\\gre\\im-select\\im-select.exe {im}"
这样就大功造成了, 如果你是第一次装 vscodevim, 记得重启 vscode.
最近转向了 vscode neovim, 设置有点不同,只要在相应的vimrc文件里面加入
autocmd InsertLeave * :silent !c:\gre\im-select\im-select.exe 5129
autocmd InsertEnter * :silent !c:\gre\im-select\im-select.exe 2052
这样就可以了,输入法序号换成你自己的