前面的40个章节里,我们学习了很多基本的知识。在这本书最后的章节里,我们会从头开始为一门编程语言实现一个插件。
这个内容并不是为了让你畏惧,而是让你多做点努力。
如果你现在想停止的话,也是可以的!因为你现在已经学到了足够的内容里,你可以在你的vimrc文件里添加一些很强大的功能,也可以修复你在别人的插件里发现的bug。
如果你想说“现在学到的已经足够了——我不想浪费几个钟头的时间来创建我并不经常使用的插件”也没什么。实际点,如果你现在还不想做一个完整的插件的话,你现在就可以停止了,等你需要的时候可以从这里继续。
如果你想继续的话,那么你最好保证你会花一些时间的。接下来的内容会比较难,我会假设你真的要学习这些内容,而不是在你的沙发上浏览它。
我们要创建的插件是要对Portion编程语言进行支持。
Potion是一个玩具样的编程语言。它是一个很小的语言,这也使得它非常适合作为我们的目标。
Potion和Io非常相似,也有一些Ruby,Lua以及其他语言特点的混合。如果你之前没有接触过Io的话,你可能会感觉这个比较古怪。我强烈建议你先花一两个小时的时间来熟悉这门语言。你或许不会使用它,但是它也许会改变你思考的方式,同时会向你展示一些新的观点。
Potion解释器现在的实现版本里有些恶心的地方。例如,如果你的代码里有语法错误的话,解释器会出现段错误。所以不要在这个地方阻塞住——我会提供一些正确的代码,来保证你只需要关注Vimscript而不是Potion。
我们的目标不是学习Potion(尽管我认为学习它会让你成为一个更好的程序员)。我们的目标是把Potion作为一个例子,使得我们能够接触到编写Vim插件的方方面面的内容。