在Deoplete中使用Ctrl-N手动完成

时间:2017-11-19 16:50:44

标签: vim autocomplete neovim

我安装了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手动完成?

1 个答案:

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

工作正常。