Mar*_*lun 2 vim code-completion
我希望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语句应该有效.
为避免混淆,这些是恕我直言的正确命令:
inoremap <expr> <c-n> pumvisible() ? "\<lt>c-n>" : "\<lt>c-n>\<lt>c-r>=pumvisible() ? \"\\<lt>down>\" : \"\"\<lt>cr>"
inoremap <expr> <m-;> pumvisible() ? "\<lt>c-n>" : "\<lt>c-x>\<lt>c-o>\<lt>c-n>\<lt>c-p>\<lt>c-r>=pumvisible() ? \"\\<lt>down>\" : \"\"\<lt>cr>"
Run Code Online (Sandbox Code Playgroud)
PS:当谈到使用Vim的完成功能时,我发现SuperTab脚本 非常方便.在这种情况下,也许这个脚本对你来说也很有趣......