首页 > 代码库 > vim-snippets Ultisnips的写法

vim-snippets Ultisnips的写法

vim的代码片段补全插件有名气的有vim-snipmate和Ultsnips,我的环境中snipmate因为冲突一直没法使用,所以使用的是Ultisnips。他们都是采用一样的vim-snippets做为配置文件,并且分别存放在对应名称的目录下。他们的格式基本上是相同的,但是也有少许差别,个人感觉ultisnips提供了更多的扩展。

UltiSnipsEdit快速打开编辑配置文件,名字为<当前文件的扩展名>.snippets

基本格式:

snippet <tigger> "注解" <flag>
${1:name}
${1/(\w+).*/${1}/}
endsnippet

支持直接用shell script,也可以通过!v嵌入vimscript或者!p 嵌入python

snippet date "date"
`echo $(date)`
end snippet

通过global !p直接嵌入python脚本

global !p
endglobal

python的变量

fn:
  文件名
path:
   路径
t:
  占位符t[1]
snip:
   提供方法

示例:

snippet def "def" 
def ${1:name}:
    ${2:`!p `}
endsnippet
snippet "rep (\d+) (\w+)" "def" r
def ${1:name}:
    ${2:`!p snip.rv=int(match.group(1))*match.group(2)`}
endsnippet

extends c引用其他配置

?