سؤال

لقد أردت دائما أن تكون قادرة على الحصول على نحو معقول أنيقة طريقة الحصول على vimdiff إلى العمل مع السير الذاتية التي تسيطر عليها الملف.لقد وجدت العديد من (إلى حد ما hacky) مخطوطات في جميع أنحاء شبكة الإنترنت (أفضل مثال هنا) أن الأساس تحقق من ملف تحرير من السير الذاتية إلى ملف مؤقت ، vimdiff اثنين.أيا من هذه تأخذ في الاعتبار الفروع ، تفترض دائما كنت تعمل من الرئيسي ، وهو بالنسبة لي هو عديمة الفائدة تماما.

لذا سؤالي هو:وقد أي شخص هناك وجدت حل لائق لهذا أن يفعل أكثر من هذا السيناريو ؟

أو إذا تعذر ذلك ، هل من أحد لديه أفكار عن كيفية تنفيذ هذا أو اقتراحات ما هي الميزات التي كنت تنظر الحيوية لشيء أن يفعل هذا ؟ نيتي هو أنه إذا كان أي شخص يمكن أن تشير بالفعل بنيت الحل إما استخدام أو بناء ، نبدأ في بناء واحد من هنا.

هل كانت مفيدة؟

المحلول

لقد تم العمل على نفس البرنامج النصي هنا: http://github.com/ghewgill/vim-scmdiff (في الواقع, قد يكون لديهم نفس النسب).أنا لم تستخدم scmdiff مع السير الذاتية ، ولكن يجب أن تفعل مهرجان دبي السينمائي الدولي ضد فرع قمت بسحبه.يمكنك أيضا تحديد أن كنت ترغب في مهرجان دبي السينمائي الدولي ضد التنقيح (مع :D مراجعة).نأمل أن يساعد هذا و لا تتردد في المساهمة إذا كنت قد حصلت على تحسينات!

نصائح أخرى

@جريج Hewgill:شكرا على البرنامج النصي!لدي زوجين من القضايا مع أنه على الرغم من ذلك هنا ما كنت التغيير:

خط 21:

< map <silent> <C-d> :call <SID>scmToggle()<CR>
--
> map <silent> <C-h> :call <SID>scmToggle()<CR>

يمكنني استخدام Ctrl-d الصفحة إلى أسفل (كسول جدا لنقل كل هذا الطريق إلى PdDn) ، لذلك كان مفتاح Ctrl-h.

خط 112:

<         let cmd = 'cd ' . g:scmBufPath . ' && ' . g:scmDiffCommand . ' diff ' . g:scmDiffRev . ' ' . expand('%:p') . ' > ' . tmpdiff
--
> if g:scmDiffUseAbsPaths 
>     let cmd = 'cd ' . g:scmBufPath . ' && ' . g:scmDiffCommand . ' diff ' . g:scmDiffRev . ' ' . expand('%:p') . ' > ' . tmpdiff
> else
>     let cmd = g:scmDiffCommand . ' diff ' . g:scmDiffRev . ' ' . bufname('%') . ' > ' . tmpdiff
> endif

كان لي مشاكل مع عدم التمكن من استخدام مسارات مطلقة مع السير الذاتية.أنا لا أعرف إذا كان هذا هو غرابة لدينا مجموعة المحلي هنا ، أو إذا كان عدد السير الذاتية الشيء.لقد جعلت شكلي متغير يمكنك وضع الخاص بك .vimrc إلى استخدام مسار نسبي بدلا من ذلك.

يبدو الآن أن العمل بالضبط كيف يريد, لذا سأستمر في تقريع بعيدا ونرى ما اذا كان يمكنني العثور على أي شيء آخر أن يكسر ، نشر إصلاحات كما ذهبت.

تحرير:نسيت أن أضيف:لا تتردد في إضافة هذه التغييرات في السيناريو الخاص بك على جيثب إذا كنت تشعر أنهم جديرة بالاهتمام.

يمكنك تغيير دعوة cvs اتخاذ فروع في الاعتبار.لا يجب أن تكون صعبة.فإنه من الصعب قليلا أن تغيير وظيفة كاملة وجعل فرع العمل الخاص بك متغير (حجة دورة عالمية أو غير ذلك).

VCSCommand آخر يحتفظ بنشاط همة النصي فكس التكامل.وقد دعم CVS/SVN/SVK/بوابة.

أنا استخدامها في كل وقت SVN و لم يكن لدي أي شكاوى.استخدام الاختصارات mapleader, لذا فمن غير المرجح أنها سوف الكتابة الموجودة تعيينات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top