検索

ホームページ  >  に質問  >  本文

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日前652

全員に返信(1)返信します

  • 阿神

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

    プラグインを変更することはお勧めできません。

    新しい号に移動して、著者にニーズを伝え、著者がそれを実装するまで待つことができます。自分で変更する場合は、自分でフォークして新しいものを開始するか、コード ファイルを直接コピーする必要があります (個人的には、これは非常に愚かなアプローチだと思います)。

    あなたの質問には、コードの数行だけが変更されたと書いてありました。そのため、プラグイン作成者のその部分(これらの行)をカバーするコードを vimrc に追加することを検討してください。たとえば、プラグイン内の関数を変更する場合、その関数を vimrc に直接追加して関数を上書きできます。または、より分離点として、変更の記録のみを担当する新しいリポジトリを作成し、それを vimrc にソースすることもできます。

    返事
    0
  • キャンセル返事