如何在vim(coc)自动完成中上下移动

时间:2020-08-12 15:53:49

标签: vim

我最近从youCompleteMe转移到ConquerOfCompletions,并且自动完成功能出现问题。当我使用 YCM 时,可以浏览曾经使用过的自动完成选项标签。但是现在在 COC 中,我无法使用javascript补全中的 tsserver 。我知道箭头键可以正常工作,但是它们在减慢我的工作效率。请为我提供解决此问题的解决方案,以便我可以轻松访问自动完成选项。

谢谢

2 个答案:

答案 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()