VIM输入法(自动)切换,不使用插件
如题,之前切换输入法使用的是fcitx.vim
这样一个插件,某次使用fcitx5后插件还没有适配。因此查看其代码后有了精简版本。
在插件的实现中使用了python的dbus库与fcitx5-dbus
交互实现输入法切换和判断。
实际使用fcitx5-remote
即可以对输入法状态进行识别,代码如下:
let fcitx5state=system("fcitx5-remote")
autocmd InsertLeave * :silent let fcitx5state=system("fcitx5-remote")[0] | silent !fcitx5-remote -c
autocmd InsertEnter * :silent if fcitx5state == 2 | call system("fcitx5-remote -o") | endif
很好理解,就是添加了一个变量判断是否为中文输入法(状态2为输入法已激活即中文输入法激活)。其中还有一个点是利用|
实现的行分隔。
以上