recherche

Maison  >  Questions et réponses  >  le corps du texte

gvim - 使用github托管vim插件

我在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中实实在在地保存插件的代码,而缺点就是插件的更新很麻烦。

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

阿神阿神2801 Il y a quelques jours651

répondre à tous(1)je répondrai

  • 阿神

    阿神2017-04-21 11:00:03

    Il n'est pas recommandé de modifier le plug-in.

    Vous pouvez accéder au nouveau numéro, faire part de vos besoins à l'auteur, puis attendre qu'il le mette en œuvre. Si vous le modifiez vous-même, vous devez soit le créer vous-même et en démarrer un nouveau, soit copier directement le fichier de code (personnellement, je pense que c'est une approche très stupide).

    Vous avez écrit dans votre question que seules quelques lignes de code ont été modifiées, vous pouvez donc envisager d'ajouter du code à votre vimrc pour couvrir cette partie (ces lignes) de l'auteur du plug-in. Par exemple, si vous modifiez une fonction dans un plug-in, vous pouvez l'ajouter directement à votre vimrc pour écraser la fonction. Ou pour un point de séparation plus important, vous pouvez créer un nouveau dépôt, qui est uniquement responsable de l'enregistrement de vos modifications, puis le sourcer dans votre vimrc.

    répondre
    0
  • Annulerrépondre