ZSaberLv0 / ZFVimIM

vim输入法 / Vim Input Method by pure vim script, support: user word, dynamic word priority, cloud db files
203 stars 14 forks source link

ZFVIM在vim里不能用的问题 #20

Closed leoatchina closed 3 years ago

leoatchina commented 3 years ago

和这个有点像,而且我也设置了 autogroup https://github.com/ZSaberLv0/ZFVimIM/issues/18 我的环境都是在wsl里 neovim 0.4.4没有问题,正常输入 在vim8.2里,会看到选择框闪一下,马上消失。 然后zfvim就不能正常输入中文文字了。奇怪的是,同样是vim8.2, 有些机器上又是没事的。

ZSaberLv0 commented 3 years ago

看看 omnifunc 是啥, 有的插件会改这玩意儿

hao-lee commented 3 years ago

我那个issue的问题在多个tabpage切换时容易复现,比如我在tab1开了拼音,然后切到tab2,再打字可能就会出问题,但这个过程没这么简单,我没找到复现步骤,但是出现频率很高。

leoatchina commented 3 years ago

发现了, 是和vim-lsp+asyncomplete配合的问题,我一开始neovim里用的是coc,没有问题; 改成ycm, 也没有问题。 用vim-lsp+asyncomplete无论vim8.2还是neovim都会失效。现在怀疑是asyncomplete的导致的冲突

hao-lee commented 3 years ago

我是ycm遇到的问题。

ZSaberLv0 commented 3 years ago

总之需要依赖 lmapomnifunc 来模拟输入法, 所以和各种补全插件没法共存

可以参考 https://github.com/ZSaberLv0/ZFVimIM/blob/master/plugin/ZFVimIM_autoDisable.vim 来自动禁用

asyncomplete 不熟, 有空看看 ycm 之前有简单测了下好像没啥问题, 因为这货编译太麻烦了, 好久不用了


试了下 asyncomplete + asyncomplete-lsp, 好像一切正常, 两位看看能否提供个最简的配置和复现方式?

leoatchina commented 3 years ago

https://github.com/prabirshrestha/asyncomplete.vim/blob/e546095e4ac7a20d06bcf16d207275dd4d6b4115/autoload/asyncomplete.vim#L63

和ncm2一样

leoatchina commented 3 years ago

OK, 检查通过。

leoatchina commented 3 years ago

呃,个别机器上,用asyncomplete时还会出现问题。

ZSaberLv0 commented 3 years ago

呃,个别机器上,用asyncomplete时还会出现问题。

有发现这现象: 首次输入时 iminsert 状态会错乱, 多次切换输入状态后正常, 不清楚是不是 asyncomplete 用了 TextChangedP 造成的

leoatchina commented 3 years ago

应该是和os系统有关系, 出问题的os系统 , vim 和 neovim都会爆bug,出问题时屏幕会快速闪一下。 如果不出问题, vim 和 neovim都正常

leoatchina commented 3 years ago

好,把vim-lsp也一块toggle后问题消失。

leoatchina commented 3 years ago

问题应该是解决了