我希望Vim的完成菜单更像是Visual Studio中的完成菜单.我希望能够写一个变量的开头(或完成可用的东西),点击omni-completion键并获得完成菜单.现在我希望完成菜单突出显示最佳匹配但不将其添加到缓冲区.现在我希望能够按ENTER键输入所选元素或输入更多字母以更多地过滤完成菜单(可能在完成菜单中突出显示一个新项目),然后按Enter键进行插入.
http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_IDE上的维基页面/提示应该是这样做的,但我无法让它工作.是否有其他人尝试过该提示中的代码并使其按照我的描述工作?
引用的Wiki页面包含损坏的映射.用户(Spiiph)将Vim代码更改为对他来说更好的东西,但是不对.我推翻了他所做的更改,现在inoremap语句应该有效.
为避免混淆,这些是恕我直言的正确命令:
inoremappumvisible() ? "\ c-n>" : "\ c-n>\ c-r>=pumvisible() ? \"\\ down>\" : \"\"\ cr>" inoremap pumvisible() ? "\ c-n>" : "\ c-x>\ c-o>\ c-n>\ c-p>\ c-r>=pumvisible() ? \"\\ down>\" : \"\"\ cr>"
PS:当谈到使用Vim的完成功能时,我发现SuperTab脚本 非常方便.在这种情况下,也许这个脚本对你来说也很有趣......