如何解决如何重新映射 coc.nvim 自动完成键?
我试图更改我的 coc.nvim 自动完成键,并在 Stack Overflow 中发现了 this 问题,但是回答这个问题的人并没有很好地解释如何根据需要自定义它,所以我将解释它以帮助像我一样为此绞尽脑汁的 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 也是自动完成的,我想通过 绑定 Enter >Enter,不是自动完成键。
在 VimScript 中 Enter 用 <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]"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。