我正在使用coc.nvim进行自动完成,当出现弹出菜单时,我希望Tab键选择第一项并关闭菜单。目前,我已经将Tab键绑定到<C-n><CR>
,但是<CR>
实际上却在行返回中,这不是我想要的。
inoremap <expr> <Tab> pumvisible() ? "\<C-n><Space>" : "<Tab>"
答案 0 :(得分:1)
尝试inoremap <expr> <Tab> pumvisible() ? coc#_select_confirm() : "<Tab>"
。
答案 1 :(得分:1)
我找到了coc.nvim的示例文档的答案:
inoremap <silent><expr> <TAB>
\ pumvisible() ? coc#_select_confirm() :
\ coc#expandableOrJumpable() ?
\ "\<C-r>=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\<CR>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
let g:coc_snippet_next = '<tab>'
像绝对的魅力一样工作。