最近比较忙,周末又和老婆一起出去旅游,所以近期没有写多少文章,还望各位读者海涵~~

由于一些原因,今天本来打算写的文章没有办法发布,所以先写一篇比较轻量的应用热一下身,最近要写的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,就这样~~~

Vim(gVim)对排序的妙用

前段时间有博友在群里问了一个关于vim排序的问题,因为时间问题一直没帮忙解决,今天时间正好空出来,就帮忙搞了一下。 原文的问题如下: ...

阅读全文

vim(gVim)统计字节、字符数

前段时间在做文件扫描的时候,有一些关于字节、字符数统计的需求,考虑到有同学也可能用的到,所以整理一下记录在这里。 1.统计当前字符之前的所有字节数 ...

阅读全文

糗事百科网站改版,对应qiushibaike.vim插件升级

前不久糗百改版,所以原有的qiushibaike.vim插件用起来会有一些问题,今天有时间就修改了一下. 如图: 下载地址: http://www.vim.org/scripts/script.php?scr...

阅读全文

23则回应给“vim(gvim)中对snipmate的小妙用”

  1. iOver说道:

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

    [回复]

    Dante 回复:

    哈哈,共勉共勉~~

    [回复]

  2. sowill说道:

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

    [回复]

    Dante 回复:

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

    [回复]

    sowill 回复:

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

    [回复]

  3. mono说道:

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

    [回复]

    Dante 回复:

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

    [回复]

    MadPer 回复:

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

    [回复]

  4. grassofhust说道:

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

    [回复]

    Dante 回复:

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

    [回复]

    梧桐 回复:

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

    [回复]

  5. 吴叔说道:

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

    [回复]

    Dante 回复:

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

    [回复]

    Devric 回复:

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

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

    xptemplate 解决了这点

    [回复]

    Dante 回复:

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

    [回复]

  6. 小新说道:

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

    [回复]

  7. nswutong说道:

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

    [回复]

    Dante 回复:

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

    [回复]

  8. Marslo说道:

    Hello Vimer,

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

    谢谢!

    [回复]

    Dante 回复:

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

    [回复]

    Marslo 回复:

    okay, 那我试试去。。。

    [回复]

  9. ReeZhou说道:

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

    [回复]

  10. hei说道:

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

    [回复]

发表评论