本文介绍了Ctrl+Space 用于 vim 中的 omni 和关键字完成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 vim 中使用 + 进行全能补全(如果没有全能补全,则使用关键字补全).我试过这个,我在网上的某个地方找到了:

I Want to use + for omni-completion (and keyword completion if there is no omni-completion) in vim. I've tried this which I found somewhere on the web:

inoremap <expr> <c-space> pumvisible() ? "\<C-n>" : "\<C-x>\<C-o>\<C-n>\<C-p>\<C-r>=pumvisible() ? \"\\<Down>\" : \"\\<CR>\""

但是它不起作用.任何使用 + 的人都可以告诉我正确的方法(有效)吗?

however it's not working. Anyone who is using + for this too who can show me the correct way (which works) to do it?

值得注意的是,它需要在 vim 的终端版本中工作,而不是 gvim.

Worth noting is that it needs to work in the terminal version of vim NOT gvim.

推荐答案

试试这个:

inoremap <expr> <C-Space> pumvisible() \|\| &omnifunc == '' ?
\ "\<lt>C-n>" :
\ "\<lt>C-x>\<lt>C-o><c-r>=pumvisible() ?" .
\ "\"\\<lt>c-n>\\<lt>c-p>\\<lt>c-n>\" :" .
\ "\" \\<lt>bs>\\<lt>C-n>\"\<CR>"
imap <C-@> <C-Space>

这篇关于Ctrl+Space 用于 vim 中的 omni 和关键字完成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-11 04:35