【发布时间】:2013-06-03 22:06:15
【问题描述】:
在我的 Vim 缓冲区的某处说我有以下内容:
function foo() {
return 'funday, funky, funnel cake';
}
现在我想在这个下面创建一个新函数..
我开始输入 fun 并点击 Tab 以调出我的自动完成菜单。
在那个菜单中,我得到(按这个假设的顺序):
funday
funnel
function
funky
通常,我会 Ctrl + n 两次突出显示 function,这没什么大不了的。但是如果我有 20 个结果并且我想要获得第 10 个结果真的很快。
是否有任何已知的方法(或插件)可以快速跳转到 Vim 自动完成菜单中的特定值?
更新: 使用 hack,我找到了一种通过 X 自动完成选项跳转的方法:
" j/k for up and down in autocomplete menu
inoremap <expr> j ((pumvisible())?("\<C-n>"):("j"))
inoremap <expr> k ((pumvisible())?("\<C-p>"):("k"))
" Hack to jump down x positions
inoremap <expr> 2 ((pumvisible())?("\<C-n><C-n>"):("2"))
inoremap <expr> 3 ((pumvisible())?("\<C-n><C-n><C-n>"):("3"))
inoremap <expr> 4 ((pumvisible())?("\<C-n><C-n><C-n><C-n>"):("4"))
但是,我的 vimscript 很糟糕。有人有更好的方法吗?
【问题讨论】:
-
发现这种设置 j 和 k 的方法在显示自动完成时起作用:stackoverflow.com/questions/4739901/… 仍然没有我希望的效率。
-
不这么认为,通过
:help i_CTRL-N阅读了解它...
标签: vim autocomplete