UltiSnips 使用
文档资料在 https://github.com/SirVer/ultisnips.git 这个仓库的 doc
目录下.
也可在 sirver 的个人博客查看.
在 snippet 时,用 "
来注释。
可以使用 $1
等特殊变量来标识光标的位置:
1 |
|
比如这一段,当你展开这个 snippets 的时候,光标位于 $1
处,然后你编辑内容时,另一个 $1
也会被编辑.
另一段, 多了一个 {}
:
1 |
|
这会使光标选中这个文本 div
.
第三个例子, 在 snippets
这一行后面加上一个 b
, 即 begin, 表示只有在行首时在用 tab 直接展开:
1 |
|
第四个例子,可以使用正则表达式的替换功能:
1 |
|
这里 {
后面的 1 仍然是光标的位置,最后一排的第二个 $1
表示在第一出光标处被选中的文本,也就是这里的 div
.
使用 `` 包裹起来的部分可以直接写脚本,如 Shell Script, Vimsript, Perl, Python. 语法如下:
- Shell : `echo hi` or `#! /usr/bin/perl
print “Hello”` - Vimscript : `!v “1 + 2” . string(1+2)`, 也就是前面有一个
!v
- Python : `!p snip.rc = “Hello”`, 前面有个
!p
Inword triggers
在 snippet 那一行加上 i
, 表示将一个单词扩展开:
1 |
|
这里, 你输入 ri
然后 tab
就会扩展成 rizer
.
Regular Expression triggers
在 snippet 那一行加上 rb
, 用于扩展的关键词可以用正则表达式来表示:
1 |
|
Visual 新特性的使用
${VISUAL}
就是这个变量, 使用你用于扩展的键, 在 visual 模式下剪切文本, 会保存在这里.
关于使用 Python
snip.rv
的作用是将返回值替代文本.
关于 global
位于:
1 |
|
之间的应用于所有后面的类型.
如:
1 |
|
这就是应用于 python.
UltiSnips 使用
http://example.com/2022/09/06/UltiSnips-使用/