让我们创建一个Potion文件作为插件的测试样本。
factorial = (n):
total = 1
n to 1 (i):
total *= i.
total.
10 times (i):
i string print
"! is: " print
factorial (i) string print
"n" print.
这个代码创建了一个简单的阶乘函数并调用它10次,逐次输出结果。继续前进并用potion factorial.pn
执行它。 输出结果应该像这样:
0! is: 0
1! is: 1
2! is: 2
3! is: 6
4! is: 24
5! is: 120
6! is: 720
7! is: 5040
8! is: 40320
9! is: 362880
如果你得不到这个输出,或者你得到一个错误,停下来并排查问题所在。 这个代码应该会正常工作的。
这跟学习Vimscript没有关系,不过它能让你成为更好的程序猿。
用Vim打开factorial.pn
并执行下面命令:
:set filetype?
Vim将显示filetype=
,因为它还不认识.pn
文件。让我们解决这个问题。
在你的插件的repo中创建ftdetect/potion.vim
。在它里面加入下面几行:
au BufNewFile,BufRead *.pn set filetype=potion
这创建了一个单行自动命令:一个设置.pn
文件的filetype为potion
的命令。很简明吧。
注意我们_没有_像之前经常做的那样使用一个自动命令组。 Vim自动替你把ftdetect/*.vim
文件包装成自动命令组,所以你不需要操心。
关闭factorial.pn
并重新打开它。现在再执行前面的命令:
:set filetype?
这次Vim显示filetype=potion
。当Vim启动时,它加载~/.vim/bundle/potion/ftdetect/potion.vim
里的自动命令组, 而当它打开factorial.pn
时,自动命令起效,设置filetype
为potion
。
既然已经让Vim识别了Potion文件,我们可以继续前进来做些有用的东西了。
阅读:help ft
。不要担心你看不懂里面的内容。
阅读:help setfiletype
。
修改Potion插件中的ftdetect/potion.vim
。 用setfiletype
代替set filetype
。
FieldsStr/FieldsExStr字段获取FieldsStr用于获取指定表的字段,并可给定字段前缀,字段之间使用","符号连接成字符串返回...
SVG 渐变 - 线性 SVG 线性渐变指的是沿着直线改变颜色,要插入一个线性渐变,只需要在 SVG 文件的 defs 元素内部,创建一个 line...
XSL-FO retrieve-marker 对象XSL-FO 参考手册定义和用法 fo:retrieve-marker 对象与 fo:marker 一起使用来创建运行的页眉或页脚...
XSL-FO table-caption 对象XSL-FO 参考手册定义和用法 fo:table-caption 对象包含了使用 fo:table-and-caption 对象定义的表格标...
XML Schema simpleType 元素 完整 XML Schema 参考手册定义和用法 simpleType 元素定义一个简单类型,规定与具有纯文本内容的元...
XML Schema field 元素 完整 XML Schema 参考手册定义和用法 field 元素规定 XPath 表达式,该表达式指定用来定义标识约束(uniq...
XML Schema key 元素 完整 XML Schema 参考手册定义和用法 key 元素指定属性或元素值(或一组值)必须是指定范围内的键。键的范...
XSLT xsl:otherwise 元素本节通过两个实例来为你讲解 XSLTxsl:otherwise元素。 完整的 XSLT 元素参考手册定义和用法 xsl:otherwi...
XSLT xsl:stylesheet 和 xsl:transform 元素在 XSLT 中,这两个元素拥有相同的意思,本节介绍了它们的属性与用法。 完整的 XSLT ...