github/gitignore · Global/Vim.gitignore
شرح قالب .gitignore لـ Vim
يفكك واحدة تلو الأخرى قواعد Vim.gitignore: نمط الأقواس لملفات المبادلة ([._]*.s[a-v][a-z])، واستثناء !*.svg، وقواعد ملفات الجلسات والتراجع وtags.
Vim.gitignore أكثر القوالب اعتمادًا على أنماط نطاقات الأقواس. ينشئ Vim لكل ملف قيد التحرير ملف مبادلة (swap) باسم .اسم_الملف.swp، وإن وُجد ملف مبادلة مسبقًا استخدم اسمًا جديدًا بتغيير الحرف الأخير مثل .swo و.swn.
بدل سرد كل الامتدادات الممكنة يلتقطها دفعة واحدة بنطاق مثل [a-v][a-z]، لكن هذا النطاق يشمل .svg أيضًا، لذا يوجد معه سطر !*.svg لإعادته.
شرح القواعد
| النمط | ما الذي يتجاهله ولماذا |
|---|---|
[._]*.s[a-v][a-z][._]*.sw[a-p][._]s[a-rt-v][a-z][._]ss[a-gi-z][._]sw[a-p] | ملفات المبادلةالسطر الأول يلتقط الملفات التي تبدأ بنقطة (.) أو شرطة سفلية (_) وتنتهي بـ .saa حتى .svz. يلتقط [._]*.sw[a-p] الامتدادات من .swa إلى .swp، وتلتقط الأسطر الثلاثة الأخيرة ملفات المبادلة التي لا يسبق امتدادها اسم ملف مثل .swp. |
!*.svg | استثناء SVGلأن [._]*.s[a-v][a-z] يتجاهل أيضًا ملفات SVG التي تبدأ بنقطة أو شرطة سفلية مثل .icon.svg و_logo.svg، يُعاد تضمين كل ملفات .svg. إنه مثال على أهمية ترتيب القواعد. |
Session.vimSessionx.vim | الجلساتترتيب النوافذ وقائمة المخازن المؤقتة المفتوحة التي يحفظها :mksession. إنها حالة عمل شخصية فلا تُشارَك. |
[._]*.un~*~ | التراجع والنسخ الاحتياطيةملفات التراجع الدائمة التي تنشأ عند تفعيل الخيار undofile، والنسخ الاحتياطية الخاصة بالخيار backup. |
.netrwhisttags | netrw والوسومسجل زيارات مستكشف الملفات المدمج netrw، وملف الوسوم الذي ينشئه ctags. يتجاهل tags الملفات والمجلدات التي اسمها tags تمامًا. |
ملاحظات عملية
- بسبب قاعدة
tagsقد يُتجاهَل مجلد مصدري مثلsrc/tags/. إن وُجد مجلد كهذا فأضف!src/tags/أو ضيّق القاعدة إلى/tags. - إذا جمعت ملفات المبادلة في مكان واحد عبر إعداد Vim مثل
set directory=~/.vim/swap//فلن تنشأ في مجلد المشروع أصلًا. - يستخدم Neovim ملفات مبادلة بالصيغة نفسها، لكن موقعها الافتراضي هو مجلد الحالة، فنادرًا ما تنشأ في المشروع.
القالب الأصلي
Vim.gitignore
# Swap[._]*.s[a-v][a-z]# comment out the next line if you don't need vector files!*.svg[._]*.sw[a-p][._]s[a-rt-v][a-z][._]ss[a-gi-z][._]sw[a-p]# SessionSession.vimSessionx.vim# Temporary.netrwhist*~# Auto-generated tag filestags# Persistent undo[._]*.un~
مصدر القوالب: github/gitignore/Global/Vim.gitignore @356fd7b (2026-09-11) · CC0-1.0