Подмодули vim & git: как поместить мои собственные файлы в подмодули? - PullRequest
0 голосов
/ 06 февраля 2011

Я использую vim с патогеном и все плагины, установленные как подмодули.Это прекрасно работает, но у меня проблема с одним плагином - xptemplate.Это требует помещения фрагментов личного кода в конкретный каталог "bundle / xptemplate / personal /".Я создал персональный фрагмент для ruby ​​и поместил его в "bundle / xptemplate / personal / ruby ​​/ ruby.xpt.vim", и он работает ... но выполнение "git submodule update" отменяет мою работу.И обновление плагинов - это то, чем я бы хотел заниматься время от времени.Другим недостатком является то, что я не могу легко клонировать свою конфигурацию vim на другом компьютере - мне пришлось скопировать этот файл вручную.

Есть ли способ сделать это правильно?Я думал о добавлении чего-то вроде "personal / *" в файл .gitignore в "bundle / xptemplate".Я не тестировал его, но даже если бы он работал, это решило бы только проблему с возвратом моей работы путем обновления субмодуля и не позволило бы мне отправлять мои фрагменты в github.

Я буду признателен за любую помощь.

Ответы [ 2 ]

3 голосов
/ 06 февраля 2011

Это полностью независимо от vim и pathogen, просто общий ответ о том, как можно использовать подмодули.

Если вы хотите изменить подмодуль проекта, вы должны сделать следующее:

  • заканчивается новым подтверждением, извлеченным в подмодуле (например, путем его фиксации)

  • добавить обновленный подмодуль в суперпроект и зафиксировать это

Итак, если вы хотите изменить один из своих подмодулей плагинов, отредактируйте их, затем, прежде чем делать что-либо вроде обновления подмодуля, передайте их в подмодуль, вернитесь в суперпроектдобавьте изменения в подмодуль и выполните коммит там.

Вы сделали комментарий о "отправке [ваших изменений] в github".Если вы хотите сделать это, вы должны быть уверены, что также внесете изменения в подмодуль;Суперпроект должен быть в состоянии получить необходимый коммит субмодуля для проверки!Конечно, это означает, что если вы используете плагины, написанные другими и не можете от них вернуться, вы захотите выбросить свою версию (если хотите) в github и использовать ее в качестве авторитетного источника.для вашего суперпроекта.

Если вам нужна дополнительная помощь в адаптации всего этого к вашей конкретной установке, оставьте мне комментарий, и я буду работать с вами.

1 голос
/ 29 сентября 2011

xptemplate ищет все «runtimepath» (см .: help runtimepath), чтобы найти файлы фрагментов, например «* .xpt.vim».

Таким образом, вам не нужно помещать свои собственные фрагменты впапка подмодулей.Но просто добавьте папку, содержащую ваш фрагмент, в 'runtimepath' (в вашем .vimrc):

set runtimepath + = / foo / bar

И путь к вашим фрагментам должен быть: "/ foo /бар / рубин / ruby.xpt.vim».

...