最后更新于 .

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,所有的补全都介绍完啦,希望对大家有用~~

Pingbacks

  1. 学习vim | 学编程 on #

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

  2. vim配置攻略-打造自己的IDE | Cherrot on #

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

  3. 无所不能的vim——vim到底能做什么 | 农夫庄园 on #

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

Pingbacks已打开。

Trackbacks

引用地址

评论

  1. realshrek

    realshrek on #

    这篇不错

    Reply

    1. Dante

      Dante on #

      呵呵,谢谢~~·

      Reply

  2. benzi

    benzi on #

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

    Reply

    1. benzi

      benzi on #

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

      Reply

      1. Dante

        Dante on #

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

        Reply

  3. benzi

    benzi on #

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

    Reply

    1. Dante

      Dante on #

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

      Reply

      1. benzi

        benzi on #

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

        Reply

        1. Dante

          Dante on #

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

          Reply

  4. benzi

    benzi on #

    thanks 继续关注博主的文章

    Reply

  5. uli

    uli on #

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

    Reply

    1. Dante

      Dante on #

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

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

      Reply

      1. uli

        uli on #

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

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

        Reply

        1. Dante

          Dante on #

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

          Reply

  6. VIM---&gt;IDE

    VIM---&gt;IDE on #

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

    Reply

  7. vimest

    vimest on #

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

    Reply

    1. Dante

      Dante on #

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

      Reply

  8. surmise

    surmise on #

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

    Reply

    1. Dante

      Dante on #

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

      Reply

  9. laohutoutou

    laohutoutou on #

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

    Reply

    1. Dante

      Dante on #

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

      Reply

  10. test

    test on #

    图片挂了

    Reply

  11. wenLiangcan

    wenLiangcan on #

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

    Reply

发表评论