أفضل كتابة رسائل الالتزام في Vim ، لكنها تفتحها في Emacs.
كيف يمكنني تكوين Git لاستخدام Vim دائمًا؟ لاحظ أنني أريد القيام بذلك على مستوى العالم ، وليس فقط لمشروع واحد.
إذا كنت ترغب في تعيين المحرر فقط لـ Git ، فقم إما (لست بحاجة إلى كليهما):
core.editor
في Git config: git config --global core.editor "vim"
GIT_EDITOR
متغير البيئة: export GIT_EDITOR=vim
إذا كنت ترغب في تعيين محرر Git وكذلك البرامج الأخرى ، فقم بتعيين متغيرات البيئة الموحدة VISUAL
و EDITOR
*:
export VISUAL=vim
export EDITOR="$VISUAL"
* إعداد كليهما ليس ضروريًا بالضرورة ، لكن بعض البرامج قد لا تستخدم VISUAL
الصحيح. راجع VISUAL
مقابل EDITOR
.
للحصول على نص Sublime : أضف هذا إلى .gitconfig
. --wait
مهم. (يسمح لك بكتابة النص في سامية وسوف ننتظر الحفظ/إغلاق الحدث.
[core]
editor = 'subl' --wait
'subl' يمكن استبداله بالمسار الكامل للتنفيذ ولكن عادة ما يكون متاحًا عند التثبيت بشكل صحيح.
انسخ هذا الصق:
git config --global core.editor "vim"
في حال كنت ترغب في معرفة ما تفعله. من man git-commit
:
البيئة ومتغيرات التكوين
سيتم اختيار المحرر المستخدم لتحرير رسالة سجل الالتزام من متغير البيئة
GIT_EDITOR
أو متغير التكوينcore.editor
أو متغير البيئةVISUAL
أو متغير البيئةEDITOR
(بهذا الترتيب).
على Ubuntu وأيضًا Debian (بفضلMichielB) ، يمكن أيضًا تغيير المحرر الافتراضي من خلال تشغيل:
Sudo update-alternatives --config editor
والتي سوف يدفع ما يلي:
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------
0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
* 3 /usr/bin/vim.basic 30 manual mode
4 /usr/bin/vim.tiny 10 manual mode
Press enter to keep the current choice[*], or type selection number:
في نظام التشغيل Windows 7 ، أثناء إضافة محرر "Sublime" ، كان لا يزال يخطئ:
إحباط الالتزام بسبب رسالة التزام فارغة.
Sublime لم يكن قادرا على الحفاظ على التركيز.
لإصلاح ذلك ، فتحت ملف .gitconfig في c:/users/username/folder وأضفت السطر التالي بخيار - wait خارج علامات الاقتباس المزدوجة.
[core]
editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait
نأمل أن تكون مفيدة لشخص يواجه مشكلة مماثلة مع Sublime.
C:\Users\YOUR_USERNAME\.gitconfig
[core]
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe'
git commit
واضغط على Enter
. وسوف البوب مفتوحة المفكرة ++.لجعل Visual Studio Code (vscode) محرر git الافتراضي الخاص بك
git config --global core.editor "code --wait"
وإذا كنت تعمل مع مصممين باستخدام سطر الأوامر ، فإن بيكو ، ولا تعرف الاختصارات ؛)
git config --global core.editor "pico"
أو
export VISUAL=pico
export EDITOR=pico
قم بتشغيل هذا الأمر:
$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"
أو فقط:
$ git config --global core.editor "subl -w"
git config --global core.editor "atom --wait"
يجب تكوين Atom لتعمل من سطر الأوامر حتى يعمل أعلاه:
OS X : install أوامر Shell من Atom: شريط القوائم> Atom> تثبيت أوامر Shell
Windows : لا يوجد إجراء مطلوب - يتم تكوين الذرة للتشغيل من سطر الأوامر افتراضيًا
git config --global core.editor notepad.exe
نجاح Ctrl+S لحفظ رسالة الالتزام الخاصة بك. للتجاهل ، ما عليك سوى إغلاق نافذة المفكرة دون حفظ.
في حالة الضغط على الاختصار للحفظ ، ثم قرر الإجهاض ، انتقل إلى File-> Save as ، وفي مربع الحوار الذي يفتح ، قم بتغيير "Save as type" إلى "All files (*. *)". سترى ملفًا باسم "COMMIT_EDITMSG". احذفها وأغلق نافذة المفكرة.
تحرير: بدلاً من ذلك ، وبسهولة أكثر ، احذف جميع المحتويات من نافذة المفكرة المفتوحة واضغط على حفظ. (شكرا mwfearnley للتعليق!)
أعتقد أنه بالنسبة للكتابات الصغيرة مثل خدمة رسائل الالتزام ، فإن المفكرة تخدم بشكل أفضل ، لأنها بسيطة ، مع وجود نوافذ ، لا يتم فتحها في أي وقت من الأوقات. حتى سامية قد يستغرق ثانية أو اثنتين للحصول على النار عندما يكون لديك الكثير من الإضافات والأشياء.
للمستخدمين إيماكس
.emacs
:
(server-start)
shellrc
name__:
export EDITOR=emacsclient
لاتباع هذه الإرشادات في نظام Windows ، تأكد من تثبيت بوابة لنظام التشغيل Windows . في نظام التشغيل Windows ، أحب استخدام Git BASH بحيث يبدو أنه يشبه نظام Linux.
أولاً ، نرغب في إنشاء مشروع نص Sublime Text خاص حتى نتمكن من تحديد إعدادات خاصة للمشروع التي نريد ضبطها كلما استدعت git المحرر ، لتسهيل الأمور عند التحرير git. على سبيل المثال ، عادةً ما أقوم بتعيين المسطرة على 120 حرفًا في معظم المشاريع ، لكن بالنسبة لرسائل الالتزام git ، أريدها أن تكون 72 حرفًا بحيث تناسبها بشكل جيد في الجهاز عندما تتصل بـ git log
أو git lg
.
افتح Sublime Text وانتقل إلى "ملف" -> "نافذة جديدة" لإنشاء مشروع مجهول جديد. انتقل إلى "المشروع" -> "حفظ المشروع باسم ..." واختر مكانًا لحفظه. في Linux قمت بحفظه في دليل Linux الرئيسي الخاص بي مع اسم الملف .gitconfig.sublime-project
. المسار هو: ~/.gitconfig.sublime-project
. في Windows قم أيضًا بحفظه في الدليل الرئيسي ، على سبيل المثال: C:\Users\MY_USER_NAME\.gitconfig.sublime-project
انتقل الآن إلى "Project" -> "تحرير المشروع" لتحرير إعدادات المشروع. الصق التالي وحفظ الإعدادات. قم بإجراء أي تعديلات أخرى لإعدادات مشروعك إذا رغبت في ذلك.
{
//For folder settings help see here: https://www.sublimetext.com/docs/3/projects.html
"folders":
[
],
"settings":
{
// Disables horizontal scrolling if enabled.
// May be set to true, false, or "auto", where it will be disabled for
// source code, and otherwise enabled.
"Word_wrap": false,
// Set to a value other than 0 to force wrapping at that column rather than the
// window width
"wrap_width": 0,
// Columns in which to display vertical rulers
"rulers": [72, 50], //72 is recommended by git for commit message content, and 50 for commit titles
// The number of spaces a tab is considered equal to
"tab_size": 4,
// Set to true to insert spaces when tab is pressed
"translate_tabs_to_spaces": true,
},
"build_systems":
[
]
}
نحتاج الآن إلى تعيين المحرر ليتم استخدامه بواسطة git ، عن طريق تحرير ملف .gitconfig
.
ستكون نسخة المستخدم الخاصة بك موجودة في ~/.gitconfig
. افتح هذا الملف وأضف الأسطر التالية. تأكد من استخدام اسم المسار الصحيح لمشروع git الذي أنشأته للتو! أنا أستخدم ~/.gitconfig.sublime-project
.
[core]
editor = subl --project ~/.gitconfig.sublime-project --wait
--wait
مهم ، لأنه يفرض على الانتظار حتى تغلق الملف قبل أن يستمر. يعد سطر --project
مهمًا لإخبار نص Sublime عن المشروع الذي تريد فتحه كلما فتحت git Sublime.
إجابة per @ digitaldreamer أعلاه ( https://stackoverflow.com/a/2596835/4561887 ) ، "يمكن استبدال subl
بالمسار الكامل للتنفيذ ، لكن [الاسم المستعار subl
] متاح عادة عندما [سامية] مثبتة بشكل صحيح. "
بالنسبة لنظام التشغيل Windows ، اقرأ أولاً إرشادات Linux الخاصة بمعلومات الخلفية. الآن سنفعل شيئًا متطابقًا تقريبًا.
(اختياري: إنشاء اسم مستعار subl
للاستخدام في Git BASH):
افتح محررًا نصيًا (مثل: Notepad و Notepad ++ و Sublime Text و Geany ، إلخ) ، وقم بإنشاء ملف يسمى ".bash_profile" في الدليل الرئيسي. وبالتالي سيكون مسارها: C:\Users\MY_USER_NAME\.bash_profile
. احفظ ما يلي فيه:
alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"
يؤدي هذا إلى إنشاء اسم مستعار Git BASH يسمى subl
والذي يمكننا استخدامه الآن في Git BASH لـ Windows ، لفتح Sublime بسهولة. هذه الخطوة غير مطلوبة ولكنها مفيدة للاستخدام العام Git BASH. يمكنك الآن الاتصال بـ subl .
، على سبيل المثال ، في Git BASH لفتح مشروع Sublime جديد في الدليل الحالي.
(إلزامي):
قم بتحرير الملف .gitconfig
الموجود في الدليل الرئيسي الخاص بك: C:\Users\MY_USER_NAME\.gitconfig
، عن طريق إضافة ما يلي إليه. لاحظ التغييرات الطفيفة من تعليمات Linux أعلاه:
[core]
editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
/
NOT \
لفصل المجلدات في اسم المسار! (شكرا VonC لمساعدتي في رؤية هذا ).subl
الذي أنشأناه لـ Git BASH أعلاه ، لذلك لا يمكنك استخدامه كما فعلنا في مثال Linux ، بدلاً من ذلك يجب عليك تحديد المسار بالكامل كما هو موضح أعلاه.~
يعمل هنا للوصول إلى دليل Windows Home.يمنحك هذا تمييز بناء الجملة لرسائل git commit
، بالإضافة إلى إمكانية الوصول إلى أوامر git الأخرى مثل git blame
(التي أستخدمها بشكل متكرر في Sublime Text) أو git commit
(التي لا أستخدمها في Sublime Text لأنني أفضل سطر الأوامر لتدفق بوابة العام ، كما ذكرت في تعليقاتي أدناه هذه الإجابة).
لتثبيت حزمة: أولاً ، تأكد من تثبيت "التحكم في الحزمة". بعد ذلك ، اضغط Ctrl + Shift + P (مثل أدوات → لوحة الأوامر) واكتب كل أو جزء من "التحكم في الحزمة: تثبيت الحزمة" ، ثم اضغط على Enter. في مربع البحث الذي يظهر ، ابحث عن الحزمة "Git" واضغط على Enter ، أو انقر عليها لتثبيتها تلقائيًا.
بمجرد التثبيت ، Ctrl + Shift + P بعد ذلك ، سيؤدي البحث عن "git" إلى إظهار أوامر git التي يمكنك استخدامها داخليًا داخل Sublime Text الآن ، مثل git blame
.
الآن عندما تتصل بـ git commit
، على سبيل المثال ، كالمعتاد من سطر الأوامر ، سيتم فتح Sublime Text في .gitconfig.sublime-project
الذي أنشأناه أعلاه ، مع إعدادات هذا المشروع! أثناء كتابة فقرة ، ستلاحظ أنها تمتد إلى ما بعد المسطرة التي قمنا بتعيينها منذ إيقاف تشغيل التفاف الكلمات اللين. لفرض التفاف ثابت عبر عوائد ثابتة يتم إدخالها تلقائيًا في نهاية كل سطر ، ضع المؤشر على السطر الطويل الذي تريد لفه تلقائيًا ثم اضغط Alt + Q. سيتم الآن الالتفاف/الثابت في 72 حرفًا ، وهو ما وضعناه في معلمة "مساطر" إعدادات المشروع أعلاه.
الآن ، احفظ رسالة الالتزام الخاصة بك مع Ctrl + S، والخروج (لإكمال git commit
) بـ Ctrl + Shift + W.
فعله!
يوفر هذا إجابة للأشخاص الذين يصلون إلى هذا السؤال والذين قد يرغبون في ربط محرر بخلاف vim.
من المحتمل أن يتم تحديث المورد المرتبط ، بواسطة Github ، محدثًا ، عند تحديث المحررين ، حتى إذا لم تكن الإجابات على SO (بما في ذلك هذا).
يُظهر منشور Github بالضبط ما تكتبه في سطر الأوامر الخاص بك للعديد من المحررين ، بما في ذلك الخيارات/العلامات الخاصة بكل محرر لكي يعمل بشكل أفضل مع git.
المفكرة ++: git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
النص السامي: git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"
الذرة: git config --global core.editor "atom --wait"
تفترض الأوامر أعلاه تثبيت المحرر في الدليل الافتراضي لجهاز windows.
تضيف الأوامر أساسًا النص بين علامات الاقتباس المزدوجة إلى .gitconfig
في دليلك الرئيسي.
من المرجح أن يكون C:\Users\your-user-name
home home windows ، حيث يكون اسم المستخدم هو اسم تسجيل الدخول الخاص بك.
من سطر الأوامر ، يمكنك الوصول إلى هذا الدليل عن طريق كتابة cd ~
.
على سبيل المثال ، سيتم إضافة أمر أعلاه السطر التالي ضمن قسم [core]
مثل:[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w
إذا كان لديك محرر مختلف ، فاستبدل فقط المسار إلى المحرر الخاص بك ، باستخدام أي من الطرق المذكورة أعلاه. (ونأمل ألا تكون هناك حاجة إلى أعلام للاستخدام الأمثل.)
مثل كل تطبيقات واجهة المستخدم الرسومية الأخرى ، يجب عليك تشغيل mvim بعلامة الانتظار.
git config --global core.editor "mvim --remote-wait"
لمستخدمي Windows الذين يرغبون في استخدام neovim مع نظام Windows الفرعي لنظام Linux:
git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"
هذا هو لا حل مقاوم للخداع لأنه لا يتعامل مع إعادة التسعير التفاعلي (على سبيل المثال). التحسينات موضع ترحيب كبير!
عند استخدام git-review
، اضطررت إلى تعديل قيمة sequence.editor
حتى أتمكن من القيام rebase تفاعلي (git rebase -i -p
):
git config --global sequence.editor "gvim" # or whatever your prefer
gvim
تتطلب: apt install vim-gtk
git config --global core.editor "open -n -W -a TextWrangler"
تأكد أيضًا من "TextWrangler> التفضيلات> التطبيق> عندما يصبح TextWrangler نشطًا:" تم تعيين الإعداد على "لا تفعل شيئًا"
هذا يناسبني على OS X 10.11.4 مع TextWrangler 5.0.2 من متجر تطبيقات Mac.
تفسير:
يعني -n فتح في مثيل جديد.
-W يعني الانتظار حتى يتم إنهاء التطبيق قبل استخدام محتويات الملف المحرر كرسالة التزام.
-a TextWrangler يعني استخدام التطبيق TextWrangler لفتح الملف.
راجع man open
في تطبيق Mac Terminal الخاص بك لمزيد من التفاصيل.
مجرد محاولة EDITOR=vim git commit
.
أو يمكنك ضبط محرّرك على vim بواسطة export EDITOR=vim
في bashrc.