現在你擁有了足夠的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段移動
- 外部命令
- 自動加載
- 文檔
- 發布
- 還剩下什么?