在支持模态文本编辑的编辑器,比如 vim, helix, vscode的vim模式等,在使用 esc
键后会进入默认的普通模式(normal mode),这个时候的操作基本是在英文输入状态下完成操作。再使用 ime 中文输入法的情况下,我们使用esc
后必须切换回英文输入,无疑对模态操作多了一次步骤。这里我们可以在使用esc
时同时切换输入法来解决该问题。
大致的解决办法是:
- 利用脚本以及 cli 命令 来切换系统输入法
- 编辑器插入模式,为 esc 配置命令切换为回英文,并记录当前的输入法
- 在编辑进入插入模式的时候,读取上次插入模式下的输入法并切换
下面介绍 Linux ,osx 下的切换输入法方法。
Linux gnome 环境 ibus
IBus 是一款输入法框架。具体使用可以参考 wiki-ibus 。
ibus 提供了工具 ibus engine
查看当前的输入法标识,使用 ibus engine rime
切换输入法为rime。 但在 gnome 4
版本中,该命令无法和gnome-shell
中的系统状态的输入法保持一致。这个时候我们使用一款 gnome-shell-ibus-switcher 插件来解决该问题。
ibus-switcher 为 gnome-shell 42 版本后 提供了利用 d-bus
切换输入法的方式,从而切换系统输入法