macos下,实现vim切换模式自动切换输入法
macos下,实现vim切换模式自动切换输入法
作为一个重度vim模式使用用户,切换模式输入法不自动切换一直是一个蛋疼的问题,目前主要解决方案就是使用im-select,在对应使用的应用里面设置im-select的路径
但是这种方式有一个问题就是如果应用不支持,就不会自动切换
另一种方式就是使用rime输入法,但是对于我来说配置成本太高,不划算.
经过我的研究,发现karabiner可以实现在任意应用中使用vim,按下对应的模式切换键实现自动切换输入法.
安装karabiner
karabiner是mac下一个按键功能映射的软件,可以自己定义json文件实现许多复杂的功能的映射
brew安装
1 | brew install karabiner |
安装im-select
继续brew安装
1 | brew install im-select |
创建映射文件
/Users/fingerfrings/.config/karabiner/assets/complex_modifications路径创建一个vim-esc.json文件
文件内容如下:
1 | { |
上面文件的映射内容就是将Ctrl-[映射为Esc,同时执行/usr/local/bin/im-select com.apple.keylayout.ABC命令
设置karabiner
在complex Modifications选项中启用Map ^+[ to esc
参考文档
macos下,实现vim切换模式自动切换输入法
https://fingergohappy.github.io/2023/09/20/macos-vim-auto-change-input-method/

