我安装了deoplete,它适用于我,但默认情况下,只要你输入内容,它就会打开一个弹出窗口。这是不可取的。我想弹出窗口仅在我按 Ctrl + N 时显示。所以我禁用了自动完成功能:
let b:deoplete_disable_auto_complete = 1
但这使得 Ctrl + N 的行为与deoplete之前的行为相同,即使用缓冲区中的所有单词作为完成源。
我也尝试过添加文档中的代码,但无济于事:
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ deoplete#mappings#manual_complete()
function! s:check_back_space() abort "{{{
let col = col('.') - 1
return !col || getline('.')[col - 1] =~ '\s'
endfunction"}}}
重新映射Tab键,但不是 Ctrl + N 。是否可以通过按 Ctrl + N 来显示Deoplete手动完成?
答案 0 :(得分:0)
我承认我对你正在寻找的确切行为感到有些疑惑,但似乎你只需要绑定 Ctrl + N ?如果是这样的话:
let g:deoplete#enable_at_startup = 1
let g:deoplete#disable_auto_complete = 1
inoremap <expr> <C-n> deoplete#mappings#manual_complete()
工作正常。