Closed persytry closed 2 years ago
coc.nvim已经把我上述的问题解决了,但是还有一个与之相关的问题:
在非五笔模式下, 在命令行输入CocList outline
一切正常,能够显示出正确的符号, 但是在五笔模式下, 会有两处问题:
CocList out
然后按tab键, 不能把outline自动补全了CocList outline
然后按回车键, 弹出的框中没有任何符号.https://github.com/ZSaberLv0/ZFVimIM/blob/master/plugin/ZFVimIM_autoDisable.vim#L30
试试去掉 CocEnable
和 CocDisable
, 不太确定是否有其他什么问题
谢谢。 当我增加了这一行后
let g:ZFVimIM_autoDisable_coc = 0
我上述的那两个问题确实就不存在了,但是我感觉你之前之所以增加CocEnable
和CocDisable
的功能,应该是有原因的?否则应该会有其他问题,请问是吗?
主要问题是本插件依赖 omnifunc
和 lmap
, 没法和补全插件共存 (一般用的 TextChangedI
)
起作用的主要是 call coc#config('suggest.autoTrigger', 'none')
, 但我不太了解 coc 的内部实现
你可以先试试去掉 CocEnable
和 CocDisable
看看是否有其他问题
好的,谢谢,我先这样用着看
对了, 我有个想法不知道可不可行, 就是能不能让本插件只在insert模式下起作用, 当返回到normal模式后, 让本插件所做的影响降到最低呢? 比如可以选择在insert并且是五笔模式下, 可以设置CocDisable
, 而从五笔模式下直接回到normal模式后, 把本插件所做的对全局环境有影响的东西全部恢复掉
autocmd InsertEnter * call ZFVimIME_start()
autocmd InsertLeave * call ZFVimIME_stop()
autocmd InsertEnter * call ZFVimIME_start() autocmd InsertLeave * call ZFVimIME_stop()
我的意思是在插入模式下调用ZFVimIME_start
之后, 再按esc返回到normal模式,此时仍然是五笔模式,当let g:ZFVimIM_autoDisable_coc = 1
的情况下,此时是没有调用CocEnable
的。
就是说,对CocEnable
和CocDisable
的调用能不能仅限于insert且是五笔模式下呢?
没有什么意义, 还可能会引入更多的适配或兼容性问题
如果你有什么特殊需求, 可以自行视情况调用 ZFVimIME_start()
/ ZFVimIME_stop()
好吧, 其实我的这个思路是想本插件能够减少或缩减对vim全局环境的影响,我把对CocEnable或CocDisable的调用视作对全局环境的影响。 本插件现在是在ZFVimIME_start之后和ZFVimIMEstop之前(可能同时在insert和normal模式下)对全局环境做了一些更改,如果把本插件对全局环境所做的更改或影响仅限于insert模式下,岂不是在缩减本插件的作用范围么?如此一来应该会减少很多意想不到的跟其他插件相冲突的机会吧? 因为我感觉本插件的效果与影响应该只存在于insert模式下,在非insert模式下,本插件所做的全局环境的更改或影响越少越好,越少兼容性越好。 `^_`
试试这个: https://github.com/ZSaberLv0/ZFVimIM/commit/5908a57ebe58964a03ad18981f80a1d3fdd82e34
let g:ZFVimIME_enableOnInsertOnly = 1
谢谢大神, 大神威武!!!
ZFVimIME_enableOnInsertOnly
这个全局变量的前缀是不是弄错了? 因为我看你之前的全局变量前缀都是ZFVimIM
,而不是ZFVimIME
没错, 和 lmap/iminsert 之类 vim 状态相关的东西, 都以 ZFVimIME 前缀
好的,那我知道了, 简单测试了下, 工作良好
CocList outline
窗口希望这个问题能够解决一下,谢谢