VS Code Vim 自动切换输入法
使用 Vim 编程还得考虑输入法的切换,真的很折磨!这篇文章给出了 Win 环境下 VS Code Vim 自动切换输入法的配置方法
真正的导火索是因为 VS Code 更新到 1.101 后 Vim 插件出了十分离奇的 BUG,在 normal 模式下如果使用的是中文输入法,会直接将字符进行覆盖,同时在 insert 模式下输入表达还会出现重复输入的问题:VSCodeVim/issues/9668。不过故事的结尾还是以回退 VS Code 版本为结局的,因为我发现不只是 Vim,其他插件也抽风了。
在本机上配置
下面我按照官方的配置方法,给出 Win 环境下的配置说明
1. 下载 im-select
流程如下:
-
下载 im-select 的可执行文件:im-select.exe(x64 版本的官方链接失效了,该链接为 32 位版本)
-
下载 Git Bash:Git for Windows(由于微软的 Bug,im-select.exe 不能在 cmd 中直接运行,需要在 Git Bash 中运行)
-
以上两者安装完成后,在 Git Bash 中执行以下命令:
1
/path/to/im-select.exe
对于 Win10 下官方的美式键盘,上述命令的输出为 1033。
使用如下命令
1
/path/to/im-select.exe 1033
即可通过命令行将当前输入法切换为英文输入法(美式键盘)。
2. 修改 VS Code 的设置
在用户设置的 json 文件中(user>settings.json)增加以下配置以完成自动输入法的切换功能:
1 |
|
使用 ssh 时的配置
在使用远程时,上述自动切换输入法的设置会不起作用,这也算是插件的 BUG。
需要在远程设置的 json 文件中(machine>settings.json)也做上述修改,才能实现自动切换输入法的功能。因为 VS Code 在远程时会读取远程机器上的配置文件,但 Vim 插件实际上是在本地运行的。
参考链接
一篇关于在 VS Code 中使用 Vim 的教程,写的蛮有意思: