macOS VScode Vim自动切换输入法

macOS VScode Vim自动切换输入法

前言

在Windows和Linux上,如果我们需要再vscode中使用vim, 我们通过im-select可以非常轻易的切换输入法。

但是因为MacOS的独特设计,im-select 无法起到响应的作用

然而在macOS上,im-select确实可以起到作用。但是由于macOS的特殊机制,切换到中文输入法的时候,我们需要切换窗口,才能激活中文输入法。详情请见:切换第三方中文输入法之后无法立即激活输入法。

总而言之,我们无法通过im-select 在macOS上取得预期的效果。

注意

为了解决 Vscode VIM 中文字体抖动的问题,我们需要在 setting.json 中添加如下内容。重启vscode即可。

1
"editor.experimentalEditContextEnabled": true

解决方法

我们可以使用laishulu/macism这个库来解决以上问题。

安装

  1. 通过Homebrew安装macism
1
2
brew tap laishulu/macism
brew install macism
  1. 我们直接在vscode中,安装VIM插件

  2. 设置VIM插件中的自动切换输入法的配置。

    注意,这里可以在 terminal 中,直接运行 macism 获取当前的输入法

    image-20250407021508552

使用

  1. 授予权限。
    当初次使用的时候,需要授予权限。在授权之后,还需要重启应用

  2. 设置快捷键。
    macism通过调取系统的快捷键来切换输入法。因此我们需要设置一下系统的快捷键。

    我们必须要开启选择上一个输入法的快捷键。因为ctrl + space 和IDE的快捷键冲突了,所以我这里换成了option + space。大家可以换一个没有使用的组合。
    image-20230213155308033