一位乘务员说我登上飞机像是去巴黎度假享受葡萄酒和奶酪的。这是一个约8个小时的漫长飞行。这驾飞机有点老而且没有安装个人电视。这意味着没有任何的电影将我的注意力从一个我正在进行的宠物项目中分散。这个小项目是一个vim文件在我的vimrc中。
我是原生 vim-powerline项目的超级粉丝,即便它纯粹是用来美化的,并且没能真正提高生产力(与其它像 vim-surround这类使生产力显著提高地 插件相比),我仍然认为它是我工具库中最重要插件之一,因为我喜欢看上去优美的事物。我偏爱colorschemes,并且我对字体也精挑细选(目前使用Ubuntu Mono作为我的首选字体)。作为一个开发者,我大部分时间都在使用编辑器,如果能让这样的体验变得更快乐一点,我就满足了!
如果vim-powerline已经足够优秀的话, 为什么还要麻烦去重写一个呢? 我烦脑的最大的原因就是因为有了powerline的第二版。 这版用Python重写并且统一了代码库,使得它可以独立于Vim来使用,例如在bash,zsh和tmux中使用它。正因为如此,我弃用了vim-powerline。
因为我喜欢使用最新的软件,往往我会是最早的尝试者之一。我把自己的Vim编译到最新版,我偏爱的Linux发行版是ArchLinux (一个不断release的发行版),并且我的浏览器是beta版的 (有时候是alpha版)。
powerline的每一版对我来说都有很多问题,以至于到了无法使用的地步,然后不得不回去使用vim-powerline。在回退的过程中也丢失了一些特性,像与第三方插件如ctrip和tagbar的集成。最近,安装问题使得它很难做到跨平台兼容。并且即使在一种操作系统上,你也会碰到问题,比如,OSX系统自带Python环境与homebrew安装的Python环境之间的问题,或者在Arch系统上Python第三版成为默认版本带来的问题。相反,我发现在Windows系统上安装它们是很容易的。
我开始找寻它的替代者,然后我找到了smartusline,一个像powerline一样可以改变颜色的简单状态栏插件。我使用了一段时间,但最后我强烈的渴望一个更好看的状态栏。老实说,除了“旧”以外,我并没有一个好借口不去使用vim-powerline。powerline第二版也还没有开发完成。于是我有了充分的理由用我我业余时间去写一个状态栏插件。
我用的第一个版本有65行代码。它不能配置并且所有内容都被写死了,但这已经满足了我的需求并且它运行得相当不错。一段时间内慢慢地更新,到处做些小改动,改一下颜色,并且最后使用了powerline的字符。这之后我就在想,等一下,也许别人会觉得这个插件有所用处!在这样的想法下我决定另外开发一个插件并在社区中与别人分享。
vim-airline诞生了。
我把链接发布到vim subreddit,很受欢迎。在一天之内我的GitHub帐号就提升到100颗星。太酷了!人们喜欢我开发的东西。
第一次pull请求是为了修正一个拼写错误,我用seperator 代替了separator。这也是我第一次在GitHub上看到那个绿色的"Merge Pull Request"(合并Pull请求)大按钮。我还要告诉你整个过程令人充满惊叹。合作是如此简单,我期望工作中能有它。
之后问题就开始一个个来;bug和特定需求。更多的pull请求被提交,一些是修复bug,另一些是修复性能问题。我有自己的小开源项目运作了,这多么有趣!人们可以开放式的建议,审查代码,还有只是一般性的虚心讨论。实在太酷了!
我继续做这个插件,增加皮肤支持,我一做完就提交到HackerNews 。
听起来显然现在事情已经过去,但是我仍然无法想象营销可以带来多大的变化。去年我给WPF世界做了一个相对重要的贡献——我增加了 PowerShell to Snoop 。Snoop(探查)是主要提供给WPF开发者的工具,而要想使我的工作被接受并被合并入主产品真的是非同寻常。经过许多次回应,我的fork获得了高达6星。原因?我的目标受众是使用WPF的C#开发者,同时他们也在使用PowerShell。这是个非常小的市场!
vim-airline就不一样。它的市场是所有终端用户,这是一个很大的市场。无论你是做系统管理员工作在写shell脚本,还是在用JavaScript开发一个网站,或者在使用Ruby部署分布式集群,这些都无关紧要。此外,有人愿意用vim,是因为airline是100%用 VimScript写的,它是为每个人服务的。
在我提交到HackerNews以后,确实有个火爆的势头,bug报告与特定需求如洪水般涌入。许多人开始为它写皮肤,这验证了我的说法:这个做起来很简单。该项目一晚就另外获得了200-300颗星。
上周二晚,vim-airline成为spf13 发布版本的默认选择,这个版本是那里最热门的发布版本之一。就在那天夜里,我推送 了一个变更,以增强其插件的可扩展性。这是我那天做的最后一件事,做完不久就去睡觉了。任何事情都可能将出错,发生错误——我一醒来就收到一连串的邮件,全部是关于它如何以可能的 灾难的 方式 崩溃的。我以创记录的速度从床上跳起来,到电脑面前逆转这个变更。在许多(人工的)调查以后,我将范围缩小到Vim的 补丁 (1058) ,是它影响到我的代码。这就是我使用最前沿的软件所得到的……
自此以后我一直在测试Vim 7.2,很少再给核心代码推送任何代码变更。
人气不断上升,到现在为止,即开始两周以后,这个项目有了772个star,36个fork,15个贡献者。6种主题已经出现了。
很难说出我现在的感受——我猜我只是真的因为有这么多人对我做的东西感兴趣而激动。我开始并没有想到它会这么受欢迎。现在我只是试着跟上那些issue。
开源社区方面让人难以置信。我不知到这个项目会去向何方,但现在,我要坐下来,放松并且享受这趟航班。
其它翻译版本 (1) 加载中 本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务