Vimscript编程指南

创建一个完整的插件

前面的40个章节里,我们学习了很多基本的知识。在这本书最后的章节里,我们会从头开始为一门编程语言实现一个插件。

这个内容并不是为了让你畏惧,而是让你多做点努力。

如果你现在想停止的话,也是可以的!因为你现在已经学到了足够的内容里,你可以在你的vimrc文件里添加一些很强大的功能,也可以修复你在别人的插件里发现的bug。

如果你想说“现在学到的已经足够了——我不想浪费几个钟头的时间来创建我并不经常使用的插件”也没什么。实际点,如果你现在还不想做一个完整的插件的话,你现在就可以停止了,等你需要的时候可以从这里继续。

如果你想继续的话,那么你最好保证你会花一些时间的。接下来的内容会比较难,我会假设你真的要学习这些内容,而不是在你的沙发上浏览它。

Potion

我们要创建的插件是要对Portion编程语言进行支持。

Potion是一个玩具样的编程语言。它是一个很小的语言,这也使得它非常适合作为我们的目标。

Potion和Io非常相似,也有一些Ruby,Lua以及其他语言特点的混合。如果你之前没有接触过Io的话,你可能会感觉这个比较古怪。我强烈建议你先花一两个小时的时间来熟悉这门语言。你或许不会使用它,但是它也许会改变你思考的方式,同时会向你展示一些新的观点。

Potion解释器现在的实现版本里有些恶心的地方。例如,如果你的代码里有语法错误的话,解释器会出现段错误。所以不要在这个地方阻塞住——我会提供一些正确的代码,来保证你只需要关注Vimscript而不是Potion。

我们的目标不是学习Potion(尽管我认为学习它会让你成为一个更好的程序员)。我们的目标是把Potion作为一个例子,使得我们能够接触到编写Vim插件的方方面面的内容。

练习

  • 下载和安装Potion。这个比较简单,需要要你自己完成。
  • 确保小册子里的几个例子能够被Potion解释器正确执行。如果不行的话,到这里看看是什么原因导致的。