现在你拥有了足够的Vimscript技能来打造能帮助许多人的Vim插件。 这一章涉及如何把你的插件发布在网上,以便人们获取,还有如何向潜在用户派小广告。
## 托管
你需要做的第一件事是把你的插件放在网上,让其他人可以下载它。 最普遍的选择是放到[Vim官网的script版面](http://www.vim.org/scripts/)。
你需要这个网站的一个免费账户。一旦你有了,你可以点击"Add Script"链接并填写表单。 到那里你就会明白了。
在过去的几年中有一个趋势,越来越多的插件托管在类似Bitbucket或GitHub的网络集市上。 这种情况可能由于两个因素。首先,Pathogen使得每一个被安装的插件的文件不需要放在单独的位置。 像Mercurial和Git这样的分布式版本控制系统以及像Bitbucket和GitHub这样的公共托管网站的崛起对此也有影响。
提供代码仓库对于想要用版本控制管理自己的dotfiles的人来说是十分方便的。 Mercurial用户可以使用Mercurial的"subrepositories"来跟踪插件版本的变化, 而Git用户可以使用submodules(尽管只能对其他Git代码仓库起作用,这跟Mercurial的subrepo不一样)。
对你安装的每一个插件有一个完整的仓库,也使得当发现它们出现问题时debug更简单。 你可以使用blame, bisection或其他你的VCS提供的工具来找出哪里的问题。 如果你在自己的机器上有一个仓库,奉献fixes也会变得更简单。
希望你已经决定把你的插件代码仓库公开出来。无论你采用了哪家的服务,_至少_代码库需要能够被人们获取。
## 文档
你已经用Vim自己的帮助文档格式透彻地给插件作了文档。但你的工作还没完成呢。 你还需要写出一个简介,包括下面几条:
1. 你的插件可以用来干什么?
2. 为什么用户想要用它?
3. 为什么它比同类的插件(如果有的话)要好?
4. 它遵循什么协议?
5. 一个到完整文档的链接,可以考虑借助[vim-doc](http://vim-doc.heroku.com/)网站进行渲染。
这些应该放在你的README文件(它将会显示在Bitbucket或GitHub的版本库的主页面),你也可以把它作为Vim.org上的插件描述。
包括一些屏幕截图总是一个好主意。作为一个文本编辑器不意味着Vim没有一个用户界面。
## 贴小广告
一旦你已经把插件部署到各个托管网站上,是时候向全世界宣传它的到来! 你可以在Twitter上向你的粉丝介绍,在Reddit的[/r/vim](http://reddit.com/r/vim/)版面推广它,在你的个人网站上写关于它的博客, 在[Vim邮件列表](http://www.vim.org/maillist.php)上给新手们派小广告。
无论何时,当你推出自己创作的东西,你总会收到一些赞美和批评。 不要对不好的评价耿耿于怀。倾听他们的呼声,同时厚着脸皮,心态平和地对待作品中被指出的小瑕缺(不管对还是不对)。 没有什么是十全十美的,而且这就是Internet,所以如果你想保持快乐和激情,你需要拿得起放得下。
## 练习
如果你还没有Vim.org账户,创建一个。
察看你喜欢的插件的READEME文件,看看它们是怎么组织起来的以及它们包含的信息。
- 前言
- 鸣谢
- 预备知识
- 打印信息
- 设置选项
- 基本映射
- 模式映射
- 精确映射
- Leaders
- 编辑你的Vimrc文件
- Abbreviations
- 更多的Mappings
- 锻炼你的手指
- 本地缓冲区的选项设置和映射
- 自动命令
- 本地缓冲区缩写
- 自动命令组
- Operator-Pending映射
- 更多Operator-Pending映射
- 状态条
- 负责任的编码
- 变量
- 变量作用域
- 条件语句
- 比较
- 函数
- 函数参数
- 数字
- 字符串
- 字符串函数
- Execute命令
- Normal命令
- 执行normal!
- 基本的正则表达式
- 实例研究:Grep 运算符(Operator),第一部分
- 实例研究:Grep运算符(Operator),第二部分
- 实例研究:Grep运算符(Operator),第三部分
- 列表
- 循环
- 字典
- 切换
- 函数式编程
- 路径
- 创建一个完整的插件
- 旧社会下的插件配置方式
- 新希望:用Pathogen配置插件
- 检测文件类型
- 基本语法高亮
- 高级语法高亮
- 更高级的语法高亮
- 基本折叠
- 高级折叠
- 段移动原理
- Potion段移动
- 外部命令
- 自动加载
- 文档
- 发布
- 还剩下什么?