我从emacs转移到vim的原因之一是避免使用Ctrl + N和Ctrl + P等难以置信的键绑定来上下.我更喜欢像hjkl这样更符合人体工程学的键.但是,在没有使用箭头键或Ctrl + N/P的情况下,我没有找到在Omnicomplete框中导航的方法.
vim是否提供其他上下键?

我有以下映射,我很满意:
" Move up and down in autocomplete with <c-j> and <c-k>
inoremap <expr> <c-j> ("\<C-n>")
inoremap <expr> <c-k> ("\<C-p>")
Run Code Online (Sandbox Code Playgroud)
如果您使用的插件(例如Neocomplete,其较早的同级Neocomplcache或YouCompleteMe)在可能有某些内容需要完成后立即弹出自动完成对话,这将非常有用.
在插入模式完成弹出窗口中,任何可打印字符用于进一步限制匹配列表,因此只有<C-N>/ <C-P>键可以选择不同的菜单项.
如果您可以丢失一些完成键,则可以定义以下映射:
:inoremap <expr> j pumvisible() ? '<C-n>' : 'j'
:inoremap <expr> k pumvisible() ? '<C-p>' : 'k'
Run Code Online (Sandbox Code Playgroud)