最后更新于 .

最近比较忙,周末又和老婆一起出去旅游,所以近期没有写多少文章,还望各位读者海涵~~ 由于一些原因,今天本来打算写的文章没有办法发布,所以先写一篇比较轻量的应用热一下身,最近要写的Vim相关文章比较多哇~~ 这次主要是想给大家介绍一下vim的一个插件snipmate,链接如下: http://www.vim.org/scripts/script.php?script_id=2540 对于代码段补全,snipmate还是非常有用的(虽然可能会降低你的记忆力)。

现在我们来假设一个场景,平常大家都是怎么写出一个函数实现的呢? 如

int Test() {     //光标在这里 }

好吧,我想应该是这样,先写出一个

int Test() {}

然后ESC,h,o,ESC,j,o 极其麻烦~ 怎么解决?在c.snippets中加入如下代码:

snippet {}     {         ${1}     }

这样,当你在c/c++文件中写完

int Test() {}

之后,只需要点击一下tab键,就会自动变成

int Test() {     //光标会在这里 }

的确很简单吧。

当然,如果是在编辑js文件,我在

int fun(){}

之后点击tab键,也会自动变成

int fun(){     //光标会在这里 }

哈哈,怎么样,还不错吧~~

另:其实我在c.snippets文件中还有如下定义:

snippet {};     {         ${1}     };

因为在写class的时候需要这个分号~

OK,就这样~~~

Pingbacks

Pingbacks已打开。

Trackbacks

引用地址

评论

  1. iOver

    iOver on #

    恩,每天来博主这里期待博客的更新,最近我也是很忙,博客也没时间更新,灰常理解博主,博主加油,期待更多更高的文章!

    Reply

    1. Dante

      Dante on #

      哈哈,共勉共勉~~

      Reply

  2. sowill

    sowill on #

    吼吼..俺现在把snipmate换成xptemplate咧..更强悍的代码片段补全插件..嗯嗯

    Reply

    1. Dante

      Dante on #

      哇哇,xptemplate有更牛的功能吗,去看看~~~

      Reply

      1. sowill

        sowill on #

        试用一下就知道..哈哈..snipMate很小巧..而xptemplate很强大..甚至有人觉得它有点过度的复杂了..我之前看它的介绍也是觉得有点复杂了..不过用上以后觉得也可以简单用嘛..现在用着感觉良好..呵呵..而且..它有warp功能..我觉得很实用

        Reply

  3. mono

    mono on #

    看过介绍rails写blog的视频,就使用的textmate, 但是vi下c-support不是很好么,有什么非此不可的东西么

    Reply

    1. Dante

      Dante on #

      呃,怎么说呢,c模式注重的是代码补全,snipmate更注重的是代码段补全,两者兼修会事半功倍一些。

      Reply

    2. MadPer

      MadPer on #

      c.vim+superTab试试,或许能满足你的要求.

      Reply

  4. grassofhust

    grassofhust on #

    以前用snipmate,现在转用xptemplate。xptemplate在功能和复杂度上都可以秒杀snipmate

    Reply

    1. Dante

      Dante on #

      好像大家都说xptemplate比snipmate好用呢,呵呵,看来我也得抽空试一下,关键是snipmate目前已经能满足我所有需求了,所以一直懒得折腾

      Reply

      1. 梧桐

        梧桐 on #

        xptemplate是比较好,有一个代码包裹功能,有时候回头写try,catch方便啊..而且snip功能做得也好,比如可以同步for(i=0;i<10;i++)这个里面的i..美中不足就是支持的片段种类没有snipmate多,而且感觉自己写起来也比较复杂

        Reply

  5. 吴叔

    吴叔 on #

    neocomplcache代码补全代码片段两不误..嘿嘿..再加一个zencoding

    Reply

    1. Dante

      Dante on #

      neocomplcache虽然的确比较方便,但是有时候还是会有卡的感觉,没有原来那么流畅。。所以被我卸载掉了。。。

      Reply

      1. Devric

        Devric on #

        是啊, 我也觉得卡, 之前用 neo+snipmate+zencoding

        我的php 捆绑了wordpress, codeigniter, yii 和 prestashop 的自定义snippet, 卡得要命, 每次开或改文件为 php, 要 load 1-3分钟。。。

        xptemplate 解决了这点

        Reply

        1. Dante

          Dante on #

          我的snippet里面确实配置的比较少。。。所以还没遇到snipmate会有这种瓶颈,不过起码现在就知道还有替代品,哈哈。

          Reply

  6. 小新

    小新 on #

    早早已经在用了, 不错的!

    Reply

  7. nswutong

    nswutong on #

    不知道这里有没有无法使用这个插件的朋友,我使用后查看tab的映射根本没有

    Reply

    1. Dante

      Dante on #

      应该是可以的,是不是和其他插件冲突了

      Reply

  8. Marslo

    Marslo on #

    Hello Vimer,

    如何解决supertab和snipmate的冲突呢?
    或者说其实两个插件是同一个功能?

    谢谢!

    Reply

    1. Dante

      Dante on #

      呃。。这个恐怕要改插件代码了。。。他们的快捷键是一样的。。

      Reply

      1. Marslo

        Marslo on #

        okay, 那我试试去。。。

        Reply

  9. ReeZhou

    ReeZhou on #

    c.vim的自动补全也相当强大的 那个更省事情

    Reply

  10. hei

    hei on #

    不知道怎么,gvim下一直未如愿。

    Reply

发表评论