Yellow Stone

A Place of My Own

github telegram instagram email
实现在 Vim 的正常和插入模式下中英文输入法的自动切换
Jan 21, 2019
一分钟读完

在使用 Vim 的过程中有一点一直很头疼,就是总是要在正常和插入模式下切换输入法,因 为大多时候是不会注意自己现在是中文还是英文的输入法。

需求:在正常模式下,切换到英文;在插入模式下,切换到上一次的输入法。

直接上到目前为止(2019-01)的最佳实践,不写调研的过程了。

Terminal Vim on Mac

  1. 安装 fcitx-remote-for-osx 。提供一个 fcitx-remote 可以通过命令行切换输入法的指令。
  2. 安装 fcitx-vim-osx 这个 Vim 插件。
注意由于插件中用到 `InsertLeave` 动作,不支持 `CTRL-C` 退出插入模式。

VScode with Vim mode

VScode 的 Vim 模式虽然实际效果一般,但是给了比较好的输入法切换的解决方法。

  1. 同样安装 im-select 这个命令行工具。
  2. 再在配置文件中加上如下设定:
{
  "vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",
  "vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}",
  "vim.autoSwitchInputMethod.defaultIM": "com.apple.keylayout.US",
  "vim.autoSwitchInputMethod.enable": true,
}

Tags: Vim

回退