2011-02-06 4 views
0

私は病原菌とすべてのプラグインをサブモジュールとしてインストールしたvimを使用しています。これは素晴らしいですが、私は1つのプラグイン - xptemplateに問題があります。個人用のコードスニペットを特定のディレクトリ "bundle/xptemplate/personal /"に入れる必要があります。私はRubyのための個人的なスニペットを作成し、それを "bundle/xptemplate/personal/ruby​​/ruby​​.xpt.vim"に入れ、それは動作します...しかし、 "git submodule update"を実行すると私の仕事は元に戻ります。プラグインを更新することは、私が時々やりたいことです。もう一つの欠点は、別のマシンでvimの設定を簡単に複製できないことです。私はこのファイルを手動でコピーしなければなりませんでした。vim&git submodules:自分のファイルをどのようにサブモジュールに入れるのですか?

正しい方法がありますか?私は "personal/*"のようなものを "bundle/xptemplate"の.gitignoreファイルに追加することを考えました。私はそれをテストしていませんが、それがうまくいってもサブモジュールの更新で自分の作品を元に戻して問題を解決するだけで、私のスニペットをギブスにプッシュすることはできません。

私は何か助けていただきありがとうございます。

答えて

3

これはvimと病原体とは完全に独立しています。サブモジュールの使用方法に関する一般的な答えです。

プロジェクトのサブモジュールを変更したい場合は、次の手順を実行する必要があります。

  • は(それにコミットすることにより、例えば)サブモジュールにチェックアウトし、新しいコミットで終わる

  • あなたはanytを行い、その後前に、離れて編集し、あなたのプラグインのサブモジュールの1つを変更したい場合は、親プロジェクトに更新サブモジュールを追加し、そう

ことをコミットサブモジュールの更新のようにヒンジし、それらをサブモジュールにコミットし、スーパープロジェクトに戻って、サブモジュールに変更を加え、そこにコミットすることもできます。

「あなたの変更をgithubにプッシュする」ことについてコメントしました。そうしたい場合は、サブモジュールの変更を確実にプッシュする必要があります。スーパープロジェクトはチェックアウトするためにサブモジュールの必要なコミットを取得できなければなりません!もちろん、これは、他人が書いたプラグインを使用していて、それを元に戻すことができない場合、githubをバージョンアップして、権威あるソースとして使用することを望むでしょうあなたのスーパープロジェクトのために。

このすべてをあなたの特定の設定に合わせて調整する必要がある場合は、私にコメントを残してください。私はあなたと協力します。

+0

これは非常に便利でした。今私にはすべてのことが明らかになっているようです。それはほんの少しのスニペットなので、フォークはあまりにも多くの仕事のように思えます。 ;) – jmatraszek

1

xptemplateは、「* .xpt.vim」のようなスニペットファイルを見つけるために 'runtimepath'(help runtimepath参照)をすべて検索します。

あなたは自分のスニペットをサブモジュールフォルダに置く必要はありません。 しかし、単に(あなたの.vimrc中)は「runtimepath」にスニペットを含むフォルダを追加します。

セットruntimepath + =/fooの/バースニペットに

とパスは次のようになります。「/ fooの/バー/ルビー/ruby.xpt.vim "と入力します。

+0

ありがとうございます! :) – jmatraszek

関連する問題