Vim | 切换模式/输入法
vim 在退出输入模式的时候切换为原来的输入法
在敲代码的时候使用我们使用的英文,当遇到问题,我们需要搜索引擎的时候需要中文输入法,这个时候,自动切换输入法可以帮助我们节省手动切换输入法的时间。
跟编辑器结合,主要是两种编辑器,一个是 idea
一个是 vscode
在idea中使用 vim
插件:
- IdeaVim
- IdeaVimExtension
我们需要在 用户目录下创建 .ideavimrc
文件, 并输入以下内容
set keep-english-in-normal
set keep-english-in-normal-and-restore-in-insert
$ source ~/.ideavimrc
重启 idea
可以看到效果了。
IdeaVimExtension插件的文档:
为IdeaVim
插件增加自动切换为英文输入法的功能
输入法自动切换功能不会默认启用
编辑器中normal模式下输入输入下面的指令以启用自动切换输入法功能:
:set keep-english-in-normal 开启输入法自动切换功能
:set keep-english-in-normal-and-restore-in-insert 回到insert模式时恢复输入法
:set nokeep-english-in-normal-and-restore-in-insert 保留输入法自动切换功能,但是回到insert模式不恢复输入法
:set nokeep-english-in-normal 关闭输入法自动切换功能
也可以通过将set keep-english-in-normal[-and-restore-in-insert]
加入到~/.ideavimrc
文件中并重启IDE来启用插件功能。
注意:支持MacOS和Windows, 通过fcitx-remote支持Linux
MacOS需要开启英语美国键盘或ABC键盘 Windows需要开启英语美国键盘 Linux需要使用fcitx输入法,通过fcitx-remote切换
在macOS中,normal模式的输入法可以通过keep_input_source_in_normal
来设置,例如let keep_input_source_in_normal="com.apple.keylayout.ABC"
在vscode中使用 vim
参考 vscode 插件: https://github.com/VSCodeVim/Vim#input-method
环境
- mac
- 下载 vscodevim插件
- im-select
安装 im-select
$ git clone https://github.com.cnpmjs.org/daipeihust/im-select.git
$ mv im-select/im-select-mac/out/im-select /usr/local/bin/
$ chmod 777 /usr/local/bin/im-select
查看当前输入法
$ /usr/local/bin/im-select
com.apple.keylayout.ABC
全局配置 settings.json
"vim.autoSwitchInputMethod.enable": true,
"vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.ABC",
"vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
"vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"
settings.json 参数解析:
参数 | 解析 |
---|---|
vim.autoSwitchInputMethod.enable | 控制是否自动切换 |
vim.autoSwitchInputMethod.defaultIM | 默认的输入法,其实就是在Normal模式下需要输入法 |
vim.autoSwitchInputMethod.obtainIMCmd | 获得当前输入法的命令 |
vim.autoSwitchInputMethod.switchIMCmd | 切换输入法的命令,{im}代表要切换到输入法名,其实就是设置的defaultIM |
至此 vscode vim 自动切换输入法就完成了。
--完--
- 原文作者: 留白
- 原文链接: https://zfunnily.github.io/2021/09/vimchange/
- 更新时间:2024-04-16 01:01:05
- 本文声明:转载请标记原文作者及链接