W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Vim的插件配置方式,在你僅僅添加一個文件來自定義自己的Vim體驗時很合理, 但當你想要使用別人寫的插件時,這種方式會導致一團糟。
在過去,要想使用別人寫好的插件,你得下載所有文件并逐一正確地放置它們。 你也可能使用zip
或tar
來替你做放置的工作。
在這個過程中有些明顯的問題:
utils.vim
或別的更大眾的名字)呢? 有時你可以簡單地重命名掉它,但如果它位于autoload/
或別的名字相關(guān)的文件夾中呢? 你改掉文件名,就等于改掉插件。這一點也不好玩。人們總結(jié)出一系列hacks來讓事情變得簡單些,比如Vimball。 幸運的是,我們不再需要忍受這些骯臟的hacks。?Tim Pope創(chuàng)造了著名的Pathogen插件讓管理大量插件變得輕松愉快, 只要插件作者神志清醒地安排好插件結(jié)構(gòu)。(譯注:現(xiàn)在推薦vundle來代替Pathogen,前者支持使用git下載插件)
讓我們了解一下Pathogen的工作方式,以及為了讓我們的插件更加兼容,我們需要做的事。
當Vim在特殊的文件夾,比如syntax/
,中查找文件時,它不僅僅只到單一的地方上查找。 就像Linux/Unix/BSD系統(tǒng)上的PATH
,Vim設置runtimepath
以便查找要加載的文件。
在你的桌面創(chuàng)建colors
文件夾。在這個文件夾中創(chuàng)建一個叫mycolor.vim
的文件(在本示例中你可以讓它空著)。 打開Vim并執(zhí)行這個命令:
:color mycolor
Vim將顯示一個錯誤,因為它不懂得去你的桌面查找?,F(xiàn)在執(zhí)行這個命令:
:set runtimepath=/Users/sjl/Desktop
當然,你得根據(jù)你的情況修改路徑名?,F(xiàn)在再嘗試color命令:
:color mycolor
這次Vim找到了mycolor.vim
,所以它將不再報錯。由于文件是空的,它事實上什么都沒做, 但由于它不再報錯,我們確信它找到了。
Pathogen插件在你加載Vim的時候自動地把路徑加到你的runtimepath
中。 所有在~/.vim/bundle/
下的文件夾將逐個加入到runtimepath
。(譯注:vundle也是這么做的)
這意味著每個bundle/
下的文件夾應該包括部分或全部的標準的Vim插件文件夾,比如colors/
和syntax/
。 現(xiàn)在Vim可以從每個文件夾中加載文件,而且每個插件文件都獨立于自己的文件夾中。
這么一來更新插件就輕松多了。你只需要整個移除舊的插件文件夾,并迎來新的版本。 如果你通過版本控制來管理~/.vim
文件夾(你應該這么做), 你可以使用Mercurial的subrepo或Git的submodule功能來直接簽出(checkout)每個插件的代碼庫, 然后用一個簡單的hg pull; hg update
或git pull origin master
來更新。
我們計劃讓我們的用戶通過Pathogen安裝我們寫的Potion插件。 我們需要做的:在插件的代碼庫里,放置我們的文件到正確的文件夾中。就是這么簡單!
我們插件的代碼庫展開后看起來就像這樣:
potion/
README
LICENSE
doc/
potion.txt
ftdetect/
potion.vim
ftplugin/
potion.vim
syntax/
potion.vim
... etc ...
我們把它放置在GitHub或Bitbucket上,這樣用戶就能簡單地clone它到bundle/
,一切順利!
如果你還沒有安裝[vnudle][],安裝它。(譯注:原文是安裝Pathogen,但是沒有必要啦)
給你的插件創(chuàng)建Mercurial或Git代碼庫,起名叫potion
。 你可以把它放到你喜歡的地方,并鏈接到~/.vim/bundle/potion/
或就把它直接放到~/.vim/bindle/potion/
。
在代碼庫中創(chuàng)建README
和LICENSE
文件,然后commit。
Push到Bitbucket或GitHub。
閱讀:help runtimepath
。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: