NeoVim coc.nvim 回车键无法自动完成

NeoVim coc.nvim 回车键无法自动完成

最近我重写了我的 NeoVim 配置文件vim 脚本鲁阿一切运行正常,但我有一个问题。当我使用 coc.nvim 自动完成并选择某些内容并按回车键时,NeoVim 会换行并且不会自动完成。我找到了解决方案那里,但仅限于Vim 脚本我如何在 NeoVim Lua 中做到这一点?

inoremap <expr> <CR> pumvisible() ? "\<C-Y>" : "\<CR>"

答案1

这很简单,您只需添加:

inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm() : "\<CR>"

你必须把这行放在里面init.lua

但是,如果您使用自动配对包(https://github.com/windwp/nvim-autopairs) 与 COC 一起使用则不起作用。

要检查它是否会起作用,只需运行

:verbose imap <CR> 

安装并设置软件包后

如果什么都没有,您可以使用我提供的 imap。如果有任何键映射已经绑定到 CR(顺便说一下,这意味着输入),那么您必须在包上重新映射它或使用与输入不同的键。

就我而言,windwp 自动配对需要回车键,这会导致错误。

解决方案是使用 COC 自动配对。只需运行:CocInstall coc-pairs就可以了。

答案2

我想我找到解决方案了!

如果你通过 packer 安装插件,请在 init.lua 中写入:

require('nvim-autopairs').setup{
  map_cr = false,
}

我希望这个对你有用

答案3

您可以通过在 init.lua 中添加此内容来实现此目的

vim.fn.nvim_command('inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm() : "\\<CR>"')

相关内容