如何在vim中重新映射自动完成?

如何在vim中重新映射自动完成?,vim,autocomplete,Vim,Autocomplete,我正在将AutoComplPop与omnifunc一起使用 我不想在自动完成弹出窗口中输入auto来完成选择,而是希望使用Ctrl+Enter(或其他组合),并让Enter像往常一样工作 最后一点很重要:如果我想插入回车,并且自动完成弹出窗口中有突出显示的内容,我必须按enter键两次 因此:如何重新映射自动完成键?我不认为自动完成插件对回车键有任何作用;相反,当完成弹出窗口可见时,这是默认行为。请参见:h弹出菜单键: 我不认为AutoComplPop插件对Enter键有任何作用;相反,当完成弹

我正在将AutoComplPop与omnifunc一起使用

我不想在自动完成弹出窗口中输入auto来完成选择,而是希望使用Ctrl+Enter(或其他组合),并让Enter像往常一样工作

最后一点很重要:如果我想插入回车,并且自动完成弹出窗口中有突出显示的内容,我必须按enter键两次


因此:如何重新映射自动完成键?

我不认为自动完成插件对回车键有任何作用;相反,当完成弹出窗口可见时,这是默认行为。请参见
:h弹出菜单键


我不认为AutoComplPop插件对Enter键有任何作用;相反,当完成弹出窗口可见时,这是默认行为。请参见
:h弹出菜单键


这类插件可以工作,但与其他一些插件不兼容(例如endwise,我很虔诚地使用它)。不过,我认为这可能是最好的答案。不知道为什么会被否决。在多次尝试解决问题(冲突)后,我改为使用YouCompleteMe。这类插件可以工作,但与其他一些插件(例如endwise,我非常喜欢使用)不兼容。不过,我认为这可能是最好的答案。不知道为什么会被否决。在多次尝试解决问题(冲突)后,我刚搬到YouCompleteMe。
  The behavior of the <Enter> key depends on the state you are in:
  first state:      Use the text as it is and insert a line break.
  second state:     Insert the currently selected match.
  third state:      Use the text as it is and insert a line break.
:inoremap <expr> <CR> pumvisible() ? '<C-e><CR>' : '<CR>'