Vim支持的自动完成种类实际上是很多的,有大家熟知的关键字补全,也有程序开发者经常用到的全能补全。现在,我们逐一介绍。
1.关键字补全,按键是:
FORWARD:   <C-X><C-N>
BACKWARD:  <C-X><C-P>
截图如下:

2.整行补全,按键是:
<C-X><C-L>
截图如下:

3.文件名补全,按键是:
<C-X><C-F>
截图如下:

4.字典补全,按键是(杯具啊,为了这个<C-K>,我把原来的C-K映射都给删掉了):
<C-X><C-K>
截图如下:

对于字典补全,我写了一篇专门用于补全php函数名的文章-《通过vim字典补全,实现php函数名自动补全

5.全能补全,按键是:
<C-X><C-O>
截图如下:

上面的图是调用omnicppcomplete进行类变量补全的结果,对于omnicppcomplete的使用可以参考这篇文章

把VIM打造成一个真正的IDE(3)
OK,所有的补全都介绍完啦,希望对大家有用~~

版权所有,转载请注明出处.http://www.vimer.cn

暂无相关产品

26则回应给“vim所支持的自动完成详解”

  1. realshrek说道:

    这篇不错

    [回复]

    Dante 回复:

    呵呵,谢谢~~·

    [回复]

  2. benzi说道:

    博主您好,请问,在我这里怎么只有 c-n 和 c-p可用,谢谢?

    [回复]

    benzi 回复:

    还有按照博主说的字典补全可用

    [回复]

    Dante 回复:

    呵呵,c-x c-o需要配合omnicppcomplete使用的,其他的都是vim自带的哦,只要vim7.0以上版本应该都没有问题

    [回复]

  3. benzi说道:

    我的是vim7.2那没理由不支持啊

    [回复]

    Dante 回复:

    呃,7.2肯定是支持的……我在linux和windows下都试过……

    [回复]

    benzi 回复:

    有可能还要设置其他的地方吗
    请博主下介绍下有关学习使用VIM的优秀资源
    也可以发至我的邮箱 bingyuvictor@gmail.com
    谢谢

    [回复]

    Dante 回复:

    呃,应该是不需要了呀……
    呵呵,不用这么认真的学习VIM,首先把他当成一个简单的编辑器用,当你发现有些操作重复性太大,或者普通文本操作实现不了时,再去google或者其他地方搜一下,自然就会有你想要的资源啦

    [回复]

  4. benzi说道:

    thanks 继续关注博主的文章

    [回复]

  5. uli说道:

    最近发现一个非常好的自动补全(不需要按补全键)脚本neocomplcache。以前发现的自动补全的脚本由于每次补全要对大量tags进行扫描,如果开启它会导致输入时非常迟钝,基本不可用。而这个脚本通过缓存加速了补全,自动补全非常流畅。但我遇到一个非常麻烦的问题:那就是插入模式下Ctrl-y的双重功能冲突。
    我经常在插入模式下按常按Ctrl-y快速插入与上一行相同的一段字符,但是现在,在这一过程中由于开启了自动补全,也会自动弹出补全菜单,结果Ctrl-y导致首个补全项被错误插入!
    一直没有找到好的解决这个问题的办法。不知博主有何良策?

    [回复]

    Dante 回复:

    之前一直没有用这款插件,刚刚试了一下,似乎不存在你说的问题哦,ctrl+y可以用,要不你下载个最新的版本试一下?

    呵呵,这个插件补全确实好快呢,不过不知道是否能替代omnicppcomplete?

    [回复]

    uli 回复:

    你误解我的意思了。
    在某些情况下,我需要在用 ctrl-y 在插入模式下来快速插入和上一行相同的字符。例如上一行为:Hello,world。现在这一行要输入Hello,anyone一般,我可以按不停地按ctrl-y来复制和上一行相同的字符Hello,。这是vim的内置的功能。
    现在问题是,安装了这个插件后,当我按ctrl-y快速插入这些内容中,当插件发现输入的内容可补全时,会自动弹出补全菜单,这时再按ctrl-y,导致补全的第一项被插入了–这不是我想要的结果。

    尤其是,当当前行和上一行有在开始处有大量相同内容时,我习惯长按ctrl-y来快速插入这些相同内容,结果这一过程中由于出现了补全菜单和ctrl-y选中,导致错误的内容被插入了!

    [回复]

    Dante 回复:

    恩,确实,我之前是没碰到插件自动补全的情况……
    不过你说的补全第一项被插入应该是你配置neo补全自动插入第一个匹配项吧,把这个设置去掉就不会这样了。
    就是你要按两次c-y,我现在就是这样,有些不便,但是还是可以用的。。。

    [回复]

  6. VIM--->IDE说道:

    哈哈,貌似碰到好东西了,我也来凑凑热闹。

    [回复]

  7. [...] vim所支持的自动完成详解 [...]

  8. vimest说道:

    请教下,为什么提示出来的snippet会是大写?

    [回复]

    Dante 回复:

    呃,说清楚一点? 是输入了啥?在什么filetype下,哪种补全。

    [回复]

  9. surmise说道:

    补全弹出菜单的宽度如何调整哇?

    [回复]

    Dante 回复:

    这个好像真改不了。。vim会自动调整。

    [回复]

  10. laohutoutou说道:

    图片挂了,╯﹏╰,
    是因为迁到国外了?

    [回复]

    Dante 回复:

    呃,杯具,的确有些图挂了。。但是有些又正常。。我看看。

    [回复]

  11. test说道:

    图片挂了

    [回复]

  12. wenLiangcan说道:

    同楼上,依然看不了图片。。

    [回复]

  13. [...] vim所支持的自动完成详解 [...]

  14. […] 详见:vim所支持的自动完成详解,把VIM打造成一个真正的IDE(3) […]

发表评论