Vimscript 创建一个完整的插件
在前四十来章中,我们讲解了许多基础方面的内容。 在本书的最后部分,我们将尝试从零开始为一门语言创造Vim插件。
这不是个适合懦夫的游戏。这将需要你竭尽全力。
如果你现在就想退出,那确实也不坏!你已经学到了如何在~/.vimrc
里改善你的生活, 还有如果修复别人的插件里的bugs。
有"这就够了,我不想虚掷光阴于创造一个我将不会使用的插件"这种想法并不可耻。 现实一点。如果你不想创造一个自己想用的插件,现在就可以离开,到你想要的时候再回来吧。
如果你_真的_想要继续,确保你可以挤出一些时间。本书剩余部分将会显得困难, 而且我会假定你真的想学点东西,而不是仅仅慵懒地一章章翻过去。
Potion
我们创造的插件将为Potion这门语言提供支持。
Potion是由Why the lucky stiff
在隐于江湖之前(before his disappearance)创建的一门玩具语言。 它非常的简单,所以我们就拿它一试身手。
Potion跟Io很像,同时又借鉴了Ruby,Lua以及其他语言。如果你未曾玩过Io,它可能看上去略古怪。 我强烈推荐你花上至少一两个小时的时间玩玩Potion。在现实生活中你不会用它, 但是它可能会改变你思考的方式并带给你新的思想。
Potion的当前实现相当地粗糙。举个例子:如果你犯了语法错误,它通常会还你段错误。 不要太纠结于此。我会给你许多可用的代码示范,这样你就能更关注于Vimscript本身而非Potion。
我们的目标不是学习Potion(尽管那也挺有趣)。 我们的目标是以Potion作为一个小例子来体验写一个完整的Vim插件的方方面面。
练习
下载并安装Potion。这个就要你自己动手了。它应该会比较简单的。
确保你可以在Potion解释器和以.pn
文件的形式运行小册子里的第一个示例代码。 如果解释器貌似不能工作,看这个issue来查找可能的原因。