Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1738599
  • 博文数量: 410
  • 博客积分: 9563
  • 博客等级: 中将
  • 技术积分: 4517
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-03 19:59
个人简介

文章分类

全部博文(410)

文章存档

2017年(6)

2016年(1)

2015年(3)

2014年(4)

2013年(32)

2012年(45)

2011年(179)

2010年(140)

分类: LINUX

2013-04-24 10:25:45

      最近发现vim 的代码片段插件 snipmate 和 snipmate-snipptes 停止更新了,实际上snipmate 停止维护已经有些日子了,维护 snimpmate 脚本的小组现在改为支持 ultisnips, 简单试了一下,确实强大,把基本功能整理一下。

主页地址

特点

  • 支持自定义指定应用的片段类型

    (比如一个文档可以同时指定应用 python和html 多种代码片段)
    
  • 支持插入 shell vimscript python 的运行结果

    尤其是对于 python 的支持非常强大,提供了大量内置的对象,方便python 脚本当中调用

              预定义的变量:
                  fn -   当前文件名
                  path - 当前文件路径
                  t -    当前占位的值, t[1] is the text of ${1}, and so on
                  snip - UltiSnips.TextObjects.SnippetUtil 对象,提供了方法、属性
  • 支持占位符嵌套
                # 嵌套的范例
                snippet a
                
                    $0
                
                endsnippet
  • 镜像引用(Mirrors)

    自动复制占位的输入值

  • 变换引用

    类似镜像引用的功能,但是支持正则表达式进行替换输入值

  • 支持对代码片段的应用环境进行限制

    比如指定在行首展开、在单词内展开、在单词边界展开、在符合正则表达式的条件下展开等等

  • 代码片段的扩展引用

          比如在 cpp.snippets 文件的第一行增加一句 extends c ,在打开一个cpp 文件时,会首先查找搜索路径内的所有 c.snippets 文件,所以可以很容易复用已有的代码片段文件。

安装

      我使用VAM来管理vim插件,所以安装起来非常方便,主页上也介绍了使用其他方法方便的安装。不过这个插件要求vim在编译时提供python支持(默认ubuntu下面提供的vim是带python选项的版本)

预定义的快捷键

展开代码片段

+

展开代码片段列表进行挑选

+j

跳到下一个占位符位置

+k

跳到上一个占位符位置

阅读(8227) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~