我最近从youCompleteMe转移到ConquerOfCompletions,并且自动完成功能出现问题。当我使用 YCM 时,可以浏览曾经使用过的自动完成选项标签。但是现在在 COC 中,我无法使用javascript补全中的 tsserver 。我知道箭头键可以正常工作,但是它们在减慢我的工作效率。请为我提供解决此问题的解决方案,以便我可以轻松访问自动完成选项。
谢谢
答案 0 :(得分:2)
从COC文档中,您需要编辑.vimrc https://github.com/neoclide/coc.nvim/wiki/Completion-with-sources:
使用或自定义键来完成触发
您可以像这样使用coc#refresh()来完成触发器:
" use <tab> for trigger completion and navigate to the next complete item
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~ '\s'
endfunction
inoremap <silent><expr> <Tab>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<Tab>" :
\ coc#refresh()
注意:可以被另一个插件重新映射,请使用:verbose imap检查其是否按预期映射。
" use <c-space>for trigger completion
inoremap <silent><expr> <c-space> coc#refresh()
某些终端可能会在您按时发送,因此您可以:
" use <c-space>for trigger completion
inoremap <silent><expr> <NUL> coc#refresh()
改善完成体验
Use <Tab> and <S-Tab> to navigate the completion list:
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
答案 1 :(得分:0)
由于“\ pumvisible”、“\ inoremap <silent><expr> <Tab>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<Tab>" :
\ coc#refresh()