gvim - 使用github託管vim插件
阿神
阿神 2017-04-21 10:58:03
0
1
645

我在github上建一個名為vimfiles的repository,將 ~/.vim 內的東西push上去,使用pathogen來管理插件

添加兩個submodule
git submodule add git@github.com:kien/ctrlp.vim.git bundle/ctrlp
git submodule add git@github.com:Shougo/neocomplcache.git bundle/neocomplcache

這樣就添加了兩個插件,然後可以使用git submodule foreach git pull origin master更新插件

但是,submodule在github上隻是一個指向原repository的一個引用,如圖

如果我修改了插件的幾行代碼,vimfiles這個倉庫如何記錄我的修改?

或者說,能否讓vimfiles這個repository記錄的不是插件原repository的指向,而是實實在在的代碼?

分割線

想到兩種解決方法,但並不知道是否最佳做法。

其一,fork了別人插件的代碼後,在fork了後的repository上對代碼進行修改
然後git submodule add (新的repository) bundle/xxxx,但是如果隻是改幾行代碼fork一個項目這個做法是否合理。

其二,不使用git submodule的方法,在bundle目錄下git clone插件的代碼,並去掉插件目錄的.git文件夾,即去除插件的版本控製。這樣就可以在vimfiles這個repository中實實在在地保存插件的代碼,而缺點就是插件的更新很麻煩。

是否有更佳的方法,望告知,謝謝。

阿神
阿神

闭关修行中......

全部回覆(1)
阿神

不建議你修改插件。

你可以去new issue, 把你的需求跟作者說,然後等到他的實現。如果你自己改的話,要嘛自己fork另起爐灶,要嘛直接copy程式碼檔案(個人感覺這是很愚蠢的做法)。

你問題中寫道,只修改了幾行程式碼,所以你可以考慮在你的vimrc透過追加程式碼來覆蓋掉外掛程式作者的那個部分(那幾行)。例如,你修改一個外掛程式中的function,那你直接在你的vimrc中追加了覆蓋掉這個函數不久行了。或者更為分離點,你新建一個repo,只負責記錄你的修改的部分,然後source進你的vimrc即可。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板