使用github托管vim插件

发布于 2022-08-24 22:58:18 字数 952 浏览 19 评论 0

我在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的一个引用,如图
QQ截图20130204162039.png

如果我修改了插件的几行代码,vimfiles这个仓库如何记录我的修改?

或者说,能否让vimfiles这个repository记录的不是插件原repository的指向,而是实实在在的代码?

分割线

想到两种解决方法,但并不知道是否最佳做法。

其一,fork了别人插件的代码后,在fork了后的repository上对代码进行修改
然后git submodule add (新的repository) bundle/xxxx,但是如果只是改几行代码fork一个项目这个做法是否合理。

其二,不使用git submodule的方法,在bundle目录下git clone插件的代码,并去掉插件目录的.git文件夹,即去除插件的版本控制。这样就可以在vimfiles这个repository中实实在在地保存插件的代码,而缺点就是插件的更新很麻烦。

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我很坚强 2022-08-31 22:58:18

不建议你修改插件。

你可以去new issue, 把你的需求跟作者说,然后等到他的实现。如果你自己改的话,要么自己fork另起炉灶,要么直接copy代码文件(个人感觉这是很愚蠢的做法)。

你问题中写道,只修改了几行代码,所以你可以考虑在你的vimrc通过追加代码来覆盖掉插件作者的那个部分(那几行)。比如,你修改一个插件中的function,那你直接在你的vimrc中追加了覆盖掉这个函数不久行了。或者更为分离点,你新建一个repo,只负责记录你的修改的部分,然后source进你的vimrc即可。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文