Closed jnpngshiii closed 1 year ago
原理上来说不太可能是本插件问题, 看看能否用最简配置排查一下, 另外, 如果有装 ZFVimIM_openapi
, 可以先去掉试试, 排除各种异步引起的问题
较大可能性是某些补全插件, 或者 <esc>
或 dd
相关的 keymap 引起的
好的,我抽空来测试一下是不是别的插件有影响~
使用原生vim(无任何个性化配置),仅加载ZFVimIM插件时,会出现相同的问题。 请问有什么代表插件状态的变量吗,我想用autocmd来试试看能不能暂时解决这个问题,类似这种:
autocmd InsertLeave * if exists('b:zfvimim_enabled') && b:zfvimim_enabled | call feedkeys(';;') | endif
插件状态:
ZFVimIME_started()
: 主动开关ZFVimIME_enabled()
: g:ZFVimIME_enableOnInsertOnly
时, 退回 normal 会临时禁用
或对应 autocmd:ZFVimIM_event_OnStart
ZFVimIM_event_OnStop
ZFVimIM_event_OnEnable
ZFVimIM_event_OnDisable
我这无法复现, 可以试试:
let g:ZFVimIME_enableOnInsertOnly=0
: 该配置默认为 1, 退回 normal 时会自动禁用, 减少对其他插件的影响, 和你写的 autocmd InsertLeave
实际上干的是同一件事, 不太确定是否是这个引起的什么负面影响看看有无什么奇怪的 keymap, 可以贴上来一起看看
redir > log.txt
map
redir END
谢谢回复,我这边再继续排查一下!
我这边排查了各种设置和可能有冲突的插件,都没有发现什么问题。最后我发现,使用GVim不会出现这个情况。
由于暂时缺少值得进一步追查的信息,我先把这个issue关了。等有进一步发现我再来反馈。
在使用拼音输入法时,在从插入模式退出到普通模式时,如果按键按的太快,就会出现按键被输入法识别为输入的情况:
演示如下:
我在输入“你好”以后使用
esc
回到普通模式,随后快速按下dd
按键。可以看到的是,我按下的dd
没有删除这一行,被识别成了输入。然而如果在按下
esc
后,间隔一小会再按下dd
键,则不会出现这个问题:是输入法反应慢了嘛?