عرض كل "غيتون فرق" مع vimdiff
سؤال
أنا الإعداد git diff
للالتفاف في Vimdiff ، باستخدام "Git Diff مع Vimdiff"كدليل ، وهو يعمل كما هو متوقع ما لم يكن هناك العديد من الملفات التي تحتوي على تغييرات.
عندما يكون هناك عدة ملفات مع تغييرات وأقوم بتشغيلها git diff
, ، يفتح الملف الأول ، وبعد الإقلاع عن الحالة الأولى من VIMDIFF ، قدمت الرسالة التالية:
external diff died, stopping at filename
هذا سلوك مختلف تمامًا عما اعتدت عليه. كان لديّ إعداد مشابه في الماضي مع SVN ، وعندما أتعامل مع ملفات متعددة ، أود أن أراجع الملف الأول ، ثم الكتابة والاستقالة باستخدام :wq
وينفتح الملف التالي مع الاختلافات.
هذا ليس هو الحال مع git. حاولت :n[ext]
, ، لكن القيام بذلك لا يملأ النافذة اليسرى بالملف الأصلي بحيث يمكن نشره مقابل الإصدار المعدل.
المحلول
git config --global diff.tool vimdiff
git config --global difftool.prompt false
git config --global alias.d difftool
الكتابة git d
يعطي السلوك المتوقع ، والكتابة :wq
في دورات VIM إلى الملف التالي في تغييرات.
نصائح أخرى
يمكنك المحاولة git difftool
, ، تم تصميمه للقيام بهذه الأشياء.
أولاً ، تحتاج إلى تكوين أداة Diff إلى VimDiff
git config diff.tool vimdiff
ثم ، عندما تريد الاختلاف ، فقط استخدم git difftool
بدلاً من git diff
. سوف تعمل كما تتوقع.
Git accepts kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,
and opendiff as valid diff tools. You can also set up a custom tool.
git config --global diff.tool vimdiff
git config --global diff.tool kdiff3
git config --global diff.tool meld
git config --global diff.tool xxdiff
git config --global diff.tool emerge
git config --global diff.tool gvimdiff
git config --global diff.tool ecmerge