关于vim在不同模式下记忆并自动切换中英文输入法状态,我的配置~

原创
06/04 18:17
阅读数 64

关于vim在不同模式下记忆并自动切换中英文输入法状态,我的配置~

老生常谈的问题,也是困扰很多中文vim用户的老大难问题,不同模式下和不同窗口切换时自动记忆并切换输入法中英文状态.并且可以解决在复制粘贴文本后导致的输入法丢失BUG.(原因未知)
我用下面的vimrc配置代码解决,虽说还没有达到理论上的完美,比如不同模式下分别记忆不同的状态,不过也够用了,至少现在用起来会比没有用这代码流畅很多.
系统是win7,vim是8.2,输入法是手心拼音输入法(跟搜狗差不多,但很干净,之前用搜狗后来换了,因为设置老被劫持为默认搜狗输入法遂愤而卸载之,没有用搜狗做过测试,不过应该差不多)
适用范围:普通模式(英文),命令模式(英文),窗口焦点切换后(记忆状态)
因为输入法在所有模式下都适用一个shift开关,所以没发在不同模式下分别记忆不同的输入法状态,也就是说比如***入模式下是英文状态,当你退回普通模式,然后按f或/进入搜索模式后,依旧是英文状态,反之亦然.
-----------------------------------------------------------------------------------
"[输入法智能切换设置]
"一些必要的设置,比如是什么按键切换中英文状态.如果加入"imcmdline"选项则命令模式下输入法默认为被开启.
set imak=S imi=2 ims=2
"VIM启动/切换窗口焦点/离开编辑模式时,禁用输入法
autocmd VimEnter,FocusLost * set imdisable
"获得焦点/进入编辑模式时,启用输入法
autocmd FocusGained,InsertEnter * set noimdisable补充下适用范围:插入模式下,f,t,/,?等搜索模式下为记忆中英文状态
如果还有什么地方需要记忆状态但没做到的方便补充提醒下,毕竟vim太博大精深了,本人也只是用了皮毛,不确定是否有遗漏~

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部