在 Deoplete 中使用 Ctrl-N 手动补全
Manual completion with Ctrl-N in Deoplete
我安装了 deoplete,它对我有用,但是默认情况下,它会在您输入内容时打开一个弹出窗口 window。这是不可取的。我希望弹出窗口仅在我按下 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 手动完成
我承认我对你正在寻找的确切行为有点困惑,但看起来你只需要绑定 Ctrl+N ?如果是:
let g:deoplete#enable_at_startup = 1
let g:deoplete#disable_auto_complete = 1
inoremap <expr> <C-n> deoplete#manual_complete()
工作正常。
我安装了 deoplete,它对我有用,但是默认情况下,它会在您输入内容时打开一个弹出窗口 window。这是不可取的。我希望弹出窗口仅在我按下 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 手动完成我承认我对你正在寻找的确切行为有点困惑,但看起来你只需要绑定 Ctrl+N ?如果是:
let g:deoplete#enable_at_startup = 1
let g:deoplete#disable_auto_complete = 1
inoremap <expr> <C-n> deoplete#manual_complete()
工作正常。