Vim 的 Ctrl-n 快捷键在我按下 ESC 并再次进入插入模式之前不起作用

Vim's Ctrl-n shortcut doesn't work until I press ESC and enter insert mode again

vim 的自动完成键绑定 <c-n> 在插入模式下无法正常工作。当编辑文件并按 <c-n> 时,我没有任何反应。

如果我 return 通过按 ESC 返回正常模式,然后重新进入插入模式,此快捷方式有效但只能自动完成一次。结果 <c-n> 操作得不到响应,除非我重复 ESCi 过程。

可能是YCM让<c-n>快捷方式失效了。我尝试禁用 YCM 然后一切正常。

查看YCM的手册后,我得到了这个选项:

The g:ycm_filetype_blacklist option This option controls for which Vim filetypes (see :h filetype) should YCM be turned off. The option value should be a Vim dictionary with keys being filetype strings (like python, cpp etc) and values being unimportant (the dictionary is used like a hash set, meaning that only the keys matter).

See the g:ycm_filetype_whitelist option for more details on how this works.

然后,将要启用<c-n>快捷方式的文件类型追加到默认黑名单的末尾,例如gitcommit文件类型。

let g:ycm_filetype_blacklist = {
    \ 'tagbar' : 1,
    \ 'qf' : 1,
    \ 'notes' : 1,
    \ 'markdown' : 1,
    \ 'unite' : 1,
    \ 'text' : 1,
    \ 'vimwiki' : 1,
    \ 'pandoc' : 1,
    \ 'infolog' : 1,
    \ 'mail' : 1,
    \ 'gitcommit': 1
    \}

现在,您可以激活 <c-n> 并享受它。