Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 手动完成,按Ctrl-N键进行除油_Vim_Autocomplete_Neovim - Fatal编程技术网

Vim 手动完成,按Ctrl-N键进行除油

Vim 手动完成,按Ctrl-N键进行除油,vim,autocomplete,neovim,Vim,Autocomplete,Neovim,我安装了deoplete,它为我工作,但是默认情况下,每当你键入内容时,它会打开一个弹出窗口。这是不可取的。我希望弹出窗口仅在按下Ctrl+N时显示。因此我禁用自动完成: let b:deoplete_disable_auto_complete = 1 但这使得Ctrl+N的行为与去完成之前一样,即使用缓冲区中的所有字作为完成源 我还尝试从文档中添加代码,但没有成功: inoremap <silent><expr> <TAB>

我安装了deoplete,它为我工作,但是默认情况下,每当你键入内容时,它会打开一个弹出窗口。这是不可取的。我希望弹出窗口仅在按下Ctrl+N时显示。因此我禁用自动完成:

let b:deoplete_disable_auto_complete = 1
但这使得Ctrl+N的行为与去完成之前一样,即使用缓冲区中的所有字作为完成源

我还尝试从文档中添加代码,但没有成功:

            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"}}}
inoremap
\pumvisible()?"\" :
\检查返回空间()?"\" :
\去完成#映射#手动#完成()
功能!s:检查返回空间()中止“{{{
设col=col('.')-1
return!col | | getline('.')[col-1]=~'\s'
endfunction“}}}

它重新映射Tab键,但不是Ctrl+N。是否可以通过按Ctrl+N来显示手动完成除臭功能?

我承认我对您要查找的确切行为有点困惑,但似乎您只需要绑定Ctrl+N?如果是:

让g:deoplete#在_启动时启用_=1
设g:deoplete#disable _auto _complete=1
inoremap deoplete#手动完成()
工作正常

let g:deoplete#enable_at_startup = 1
let g:deoplete#disable_auto_complete = 1
inoremap <expr> <C-n>  deoplete#manual_complete()