1

私はgitの初心者なので、質問は本当にばかげているかもしれません。申し訳ありません。つまり、私はここでスタックオーバーフローの質問にかなり近いものを見つけましたが、問題を正しく解決する方法をまだ理解していません。

vimを含むドットファイルを含むgithubリポジトリがあります。私はvimで病原体を使用しているので、プラグインの継ぎ目を取得する自然な方法です

git submodule add https://github.com/msanders/snipmate.vim.git vim/bundle/snipmate
...
git submodule init
git submodule update
git submodule foreach git submodule init
git submodule foreach git submodule update

どこかで見つけたもの。最後の 4 つのコマンドは、このリポジトリを複製するたびに実行するようにセットアップ スクリプトに追加しただけです。

最初の問題git statusいつも私を示しています

# modified:   vim/bundle/snipmate (untracked content)
# ...

# Changed but not updated:セクションで、git add vim/bundle/snipmate役に立ちません。それはかなり迷惑です。

2番目の問題は、スニペットのスニペットをデフォルトのままにしておくことは明らかに望んでいないことです。変更したいのですが、病原体のスニペットは、自分のレポではなくサブモジュールであるスニペットフォルダーに保存されます。もちろん、cloneそこに単純にそれらを作成することも、いくつかのフォークを作成することもできますが、良い解決策とは思えません。

  • 自分のコードを他のコードと台無しにします。github で見つけることができます。
  • snipmate を実際に変更するつもりはありません。構成するつもりです。
  • これらすべてが、30 個のプラグインを更新することを複雑にしたり、不可能にしたりすることさえあります。

誰かが「正しい」答えを見つけるのを手伝ってくれるでしょうか?

4

2 に答える 2

0

私はvimでスニプメイトと病原体を使用しています。病原体はサブモジュールの使用を可能にします(そしてはるかに簡単です!)

私のsnipmateプラグインはここにインストールされています:

.vim/bundle/snipmate

私のスニペットはここにインストールされています:

.vim/bundle/snipmate-snippets

スニペットの例は次のとおりです。

.vim/bundle/snipmate-snippets/snippets/c.snippets

スニペットを含む作業固有のリポジ​​トリもあります。彼らは来た:

.vim/bundle/work/snippets/cpp.snippets

ランタイムパス()にスニペットフォルダがある限り、問題あり:help rtpません。それが病原体の魔法です。

サブモジュールをセットアップするために、次のことを行いました。

git submodule add git://github.com/garbas/vim-snipmate.git bundle/snipmate
git submodule add git://github.com/honza/snipmate-snippets.git bundle/snipmate-snippets

vimリポジトリを更新したいときは、次のようにします。

git pull origin master
git submodule update --init

サブモジュールのリモートを実際に変更する場合(たとえば、githubでsnipmateをフォークし、ローカルリポジトリを新しいフォークに向けたい場合など)、.gitmodulesを変更して次のようにします。

git submodule sync

サブモジュールを使用することで、更新が容易になり、更新git submodule git pull originを変更してメンテナにプッシュバックすることが容易になります。

于 2012-08-02T04:48:32.940 に答える
0

snipmate のドキュメントを読むことから始めることができます。このドキュメントには、独自のスニペットのデフォルトの推奨場所は (自分のものが下にあると仮定して~/.vim)であることが記載されています~/.vim/snippets/<filetype>.snippets。プラグインのディレクトリの外、サブモジュールの外。

はい、Git サブモジュールはクールですが、おそらく Vim 構成を管理するための完璧なソリューションではありません。

于 2012-04-07T20:40:44.690 に答える