烦人 <C-Space> 不适用于 YouCompleteMe (YCM)

Annoying <C-Space> does not work with YouCompleteMe (YCM)

我在 linux 系统上设置了 YCM,并通过 gui-terminal 调用了 vim 虽然 YCM 在 vim 插入模式下工作正常并且它打开了全方位菜单 但是只要我按下或 vim 进入粘贴模式,它就不会触发 YCM。

None .vimrc 中的以下设置对我有用。

let g:ycm_key_invoke_completion = '<C-x><C-o>'
let g:ycm_key_invoke_completion = '<C-Space>'
let g:ycm_key_invoke_completion = '<Nul>'

以下诊断命令return

:verbose imap <Nul>
i  <Nul>       * <C-X><C-O><C-P>
        Last set from ~/.vim/bundle/YouCompleteMe/autoload/youcompleteme.vim

:verbose imap <C-Space>
No mapping found

:verbose imap <C-x><C-o>
i  <C-X>       * <C-R>=<SNR>20_ManualCompletionEnter()<CR>
        Last set from ~/.vim/bundle/supertab/plugin/supertab.vim

不知道是SuperTab的问题还是其他的,我真的很想弹出Omnimenu。 谢谢

来自:h paste

When the 'paste' option is switched on (also when it was already on):
        - mapping in Insert mode and Command-line mode is disabled
        - abbreviations are disabled
        - 'textwidth' is set to 0
        - 'wrapmargin' is set to 0
        - 'autoindent' is reset
        - 'smartindent' is reset
        - 'softtabstop' is set to 0
        - 'revins' is reset
        - 'ruler' is reset
        - 'showmatch' is reset
        - 'formatoptions' is used like it is empty

所以我不确定为什么您会期望这些映射起作用。如果您想正常编辑文件,只需禁用粘贴模式即可。