如何解决如何在vim或neovim中触发自动完成建议框Plugin neoclide / coc.vim 编辑
我是Neovim用户
并且我使用插件919来自动完成
但是当光标移出焦点时,我再也无法获得建议框
(如何调用此框?建议框还是提示框?我想知道此框的名称)
我想触发它,然后再看一遍,是否有任何命令或变量?
解决方法
是的,答案在CoC github project的首页上。您需要将某些内容映射到coc#refresh()。例如,要使用 Ctrl + Space 触发完成,您需要在vimrc中放入以下内容:
inoremap <silent><expr> <c-space> coc#refresh()
项目页面上有更多示例。
,我在https://github.com/neoclide/coc.nvim/issues/2299#issuecomment-686293001中发表了评论
,图像中的建议框是signatureHelp。如果要重新打开它,则需要在函数中触发
triggerCharacters
,通常是(
和,
。 triggerCharacters由LS定义。
TLDR:试试这个 Ctrl+@
我在 neoclide/coc.nvim 的自述文件中找到了这个:
" Use <c-space> to trigger completion.
if has('nvim')
inoremap <silent><expr> <c-space> coc#refresh()
else
inoremap <silent><expr> <c-@> coc#refresh()
endif
但奇怪的是,Ctrl+Space 不起作用,尽管我使用了 neovim不是 vim。
但是有一个很好的技巧来获得你想要的键绑定,它是 Ctrl+Space:
- 进入
insert
模式 - 按Ctrl+v
- 然后按下你想要绑定的键,Ctrl+Space
但我的终端似乎无法识别使用 Ctrl 和 Space。 “我认为这才是真正的问题!”
编辑
解决方法:
- 我稍微更改了默认的 coc 配置:
inoremap <silent><expr> <c-space> coc#refresh() inoremap <silent><expr> <c-@> coc#refresh()
- 我尝试了 bash,因为我使用 zsh 作为 shell,但问题仍然存在。
- 然后我尝试了另一个终端模拟器,问题解决了,alhamdulilah。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。