如何重新映射 coc.nvim 自动完成键?

How to remap coc.nvim autocomplete key?

我试图更改我的 coc.nvim 自动完成键,并在 Stack Overflow 中找到了 问题,但是回答这个问题的人并没有很好地解释如何像您一样自定义它想要,所以我将解释它以帮助像我一样为此绞尽脑汁的 NeoVim 用户。

简答

如果你想绑定 Tab 以进行自动完成,请将其粘贴到你的 .vimrc 或 init.vim

inoremap <silent><expr> <tab> pumvisible() ? coc#_select_confirm() : "\<C-g>u\<TAB>"
inoremap <silent><expr> <cr> "\<c-g>u\<CR>"

详细解答

所以,你必须重新映射 2 个插入模式,在这种情况下,我会将我的完成重新映射到 Tab 键。

inoremap <silent><expr> <tab> pumvisible() ? coc#_select_confirm() : "\<C-g>u\<TAB>"

Obs:如果你想绑定其他键来自动完成:

inoremap <silent><expr> [the key that you want to autocomplete] pumvisible() ? coc#_select_confirm() : "\<C-g>u\<TAB>"

现在,CoC 也会用 Tab 键自动完成,但是 Enter 也是自动完成的,我想绑定 输入 只需 输入 ,而不是自动完成键。

在VimScript中回车表示为<cr>

inoremap <silent><expr> <cr> "\<c-g>u\<cr>"

观测:

inoremap <silent><expr> [this is the current autocompletion key] "\<c-g>u\[this is the bind that I am giving to the key]"