LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1950|回复: 1

利用imdisable实现Fcitx与VIM模式切换

[复制链接]
发表于 2010-7-24 11:13:01 | 显示全部楼层 |阅读模式
这两天试用了 Fcitx 新近加入 fcitx-remote 功能,由于需要在VIM中进行命令调用,速度不是很理想,输入法状态的切换会有明显的时滞。

但利用 VIM 中的 InsertLeave 和 InsertEnter 事件进行输入法切换的想法很巧妙,再受 http://www.linuxsir.cn/bbs/showthread.php?t=299054 中对 iminsert 参数讨论的启发,可以通过 VIM 的 imdisable 参数实现了一个高效模式切换。配置非常简单,在.vimrc中加入

autocmd! InsertLeave *        set imdisable
autocmd! InsertEnter *        set noimdisable

但这一方法的缺陷是只支持GVim,我猜想 set imdisable 是设定窗口的 XIM 状态,GVim 就是它本身的窗口,可以直接被设置。而在虚拟终端中,这个属性由 Terminal 控制,vim 无从修改。
发表于 2010-10-17 11:02:55 | 显示全部楼层
谢谢, 这个问题折腾很久了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表