سأشرح في هذا الدليل الشامل كيفية تعيين المفاتيح في Vim لأتمتة العمليات. بدءًا من إنشاء خريطة مفاتيح أساسية وحتى تعيين مفاتيح متقدمة، إلى جانب عمليات جعلها دائمة وإزالتها.
- بناء الجملة
- فيم الحجج الخاصة
- إنشاء خريطة مفاتيح أساسية
- سرد خرائط المفاتيح
- جعل خرائط المفاتيح دائمة
- تجنب التكرار
- إنشاء خرائط مفاتيح خاصة بالوضع
- كيفية تعيين أحداث الماوس
- كيفية التعيين باستخدام مفتاح القائد في Vim
- كيفية تعيين وظيفة Vimscript
- كيفية تعيين الأوامر الخارجية في Vim
- كيفية إزالة خريطة المفاتيح في Vim
- ورقة الغش لرسم خرائط Vim الرئيسية
- خاتمة
بناء الجملة
لتعيين المفتاح في Vim، يتم استخدام بناء الجملة التالي:
في بناء الجملة أعلاه:
<الوضع>خريطة | nmap أو imap أو vmap أو xmap أو cmap أو omap | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<الوسائط>* | <صامت>، *في بناء الجملة أعلاه، قسم فيم الحجج الخاصةVim Special Arguments هي علامات تُستخدم لتوفير وظائف إضافية لخرائط المفاتيح. تظهر هذه الوسيطات بعد الأمر:map، وقبل {rhs} و{lhs}. على سبيل المثال، لجعل المخزن المؤقت للخريطة خاصًا، استخدم الوسيطة الخاصة بالطريقة التالية: :خريطة < متعادل > < ج-أ > ggVG
تم ذكر رموز Vim الرئيسية الخاصة في الصورة التالية.
على سبيل المثال، إذا كنت تريد استخدام مفتاح المسافة في تعيين المفاتيح، فسيتم استخدام الترميز إنشاء خريطة مفاتيح أساسية في Vimدعونا نفهم تعيين مفتاح Vim بمثال أساسي. أريد تعيين أمر تحديد جميع الأسطر ( ggVG ) ل السيطرة + أ مفاتيح. لتعيين مفاتيح ctrl+a، سأقوم بتشغيل الأمر التالي في Vim. :خريطة < ج-أ > ggVGهنا، <ج-أ> يدل على كنترول و أ المفاتيح بينما ggVG هو أمر لتحديد كافة الأسطر في الملف. ال :خريطة الكلمة الأساسية مخصصة لتعيين الوضع العادي بشكل افتراضي، ومع ذلك، فإن :nmap يمكن أيضًا استخدامه بشكل صريح لـ طبيعي وضع. وبالمثل، لتعيين وظيفة تبديل رقم السطر باستخدام F1 الاستخدام الرئيسي: :خريطة < F1 > :عدد مجموعة !الآن، عند الضغط على المفتاح F1، سيتم تمكين رقم السطر، والضغط عليه مرة أخرى يؤدي إلى تعطيله. لاحظ أن هذه الطريقة ستقوم فقط بتعيين المفاتيح الموجودة في المخزن المؤقت الحالي وستتم إزالتها عند إغلاق المخزن المؤقت. سرد خرائط المفاتيحلسرد جميع التعيينات الرئيسية للأوضاع العادية والمرئية والمعلقة للمشغل، استخدم الأمر :map. :خريطةلسرد التعيينات الرئيسية لـ إدراج و سطر الأوامر الأوضاع، استخدم :map! يأمر. :خريطة !لسرد تعيين المفاتيح لوضع معين، ما عليك سوى كتابة الحرف الأولي للوضع قبل الكلمة الأساسية للخريطة.
علاوة على ذلك، لسرد كافة الخرائط بما في ذلك خرائط البرنامج المساعد مع المسارات، استخدم :خريطة مطولة يأمر. :خريطة مطولةبالنسبة لمفتاح محدد، ما عليك سوى ذكر المفتاح في الأمر ( : خريطة مطولة <مفتاح> ). جعل خرائط المفاتيح دائمةستقوم خرائط المفاتيح المذكورة في القسم أعلاه بتعيين المفاتيح الموجودة في المخزن المؤقت الحالي فقط. لجعل تعيينات مفاتيح Vim دائمة، يجب وضع الخرائط في ملف vimrc.
لاحظ أنه أثناء وضع خريطة المفاتيح في ملف vimrc الملف، لا تقم بإضافة نقطتين (:) قبل ملف خريطة يأمر. بعد وضع خريطة المفاتيح في vimrc قم بحفظ الملف ثم قم بإنهائه باستخدام الأمر :wq أو باستخدام مفاتيح Shift+zz. خرائط المفاتيح الموضوعة في vimrc سيكون الملف عالميًا ويمكن استخدامه في جميع جلسات Vim. ومع ذلك، يمكن تعطيل بعض خرائط المفاتيح مؤقتًا إذا كانت تؤثر على العمل في الجلسة الحالية، راجع قسم كيفية إزالة خريطة المفاتيح في Vim أدناه. ال vimrc هو ملف إعداد Vim الذي يحتوي على أوامر وإعدادات مختلفة. وهو موجود في /سر/مشاركة/فيم/ الدليل على macOS و /الخ/vim على لينكس. ومن المهم أن نلاحظ أن vimrc الملفات الموجودة في الدلائل المذكورة هي ملفات خاصة بالنظام. يمكنك تحرير هذه الملفات أيضًا لتعيين المفاتيح، لكنني أوصي بإنشاء ملف خاص بالمستخدم vimrc الملف في الدليل الرئيسي. تجنب التكرارقبل المضي قدمًا، من المهم التعرف على التكرار في تعيين مفتاح Vim. عيوبها وكيفية الوقاية منها. ويمكن فهم ذلك من خلال استخدام المثال. :خريطة د 3jddفي المثال أعلاه، قمت بتعيين د مفاتيح للتحرك لأسفل بمقدار 3 أسطر وحذف السطر الموجود أسفل المؤشر. الآن، عندما أضغط على د ، سيحاول تنفيذ الخريطة 3jdd . سوف يقوم Vim بتفسير د الأمر كخريطة وتنفيذ الخريطة بشكل متكرر، كما هو موضح في الصورة التالية.
ملحوظة : يمكن أن يؤدي العودية إلى تجميد محرر Vim. لإلغاء التجميد، اضغط على السيطرة + ج مفاتيح. لتجنب التكرار، استبدل خريطة الكلمة الرئيسية مع com.noremap ، أين ' نورا ' وسائل غير العودية . سوف أستبدل خريطة الكلمة الرئيسية مع com.noremap لإصلاح العودية في خريطة المفاتيح أعلاه. :noremap د 3jddسأوصي باستخدام com.noremap بدلاً من خريطة لتجنب إنشاء خرائط متكررة عن طريق الخطأ. إنشاء خرائط مفاتيح خاصة بالوضعلقد جعل Vim تعيين المفاتيح متعدد الاستخدامات بحيث يمكن إنشاء خريطة مفاتيح لوضع معين بسهولة تامة. على سبيل المثال، إذا قمت بإنشاء خريطة مفاتيح لوضع الإدراج باستخدام F1 المفتاح، ثم يمكنك تعيين نفسه F1 المفتاح في وضع آخر لعملية جديدة تمامًا. في المثال التالي، قمت بتعيين F1 مفتاح لحذف 3 أسطر في طبيعي الوضع واسحب 3 خطوط في إدراج وضع. :nmap < F1 > 3dd:imap < F1 > < ج-ر > تحذف الخريطة الأولى ثلاثة أسطر في الوضع العادي عند الضغط على المفتاح F1، بينما تضيف الخريطة الثانية مسافة بادئة واحدة في السطر الحالي عندما تكون في وضع الإدراج باستخدام نفس المفتاح. الآن، دعونا نفهم رسم الخرائط في كل وضع. تعيين الوضع العاديلتطبيق الخريطة في الوضع العادي، استخدم فقط nmap الكلمة الرئيسية. على سبيل المثال، لنسخ كافة الأسطر في ملف باستخدام السيطرة + ج المفاتيح، سأستخدم الأمر التالي. :nmap < نسخة > ggVGyكما تمت مناقشته سابقًا، من أفضل الممارسات استخدام طريقة غير متكررة لتعيين مفتاح، لذلك سأستبدل nmap مع com.nnoremap الكلمة الرئيسية. :nnoremap < نسخة > ggVGyضعه بدون نقطتين (:) في ملف vimrc ملف لجعله خريطة مفاتيح دائمة. سأستخدم com.noremap بدلا من ال خريطة في المثال التالي. تعيين وضع الإدراجلتعيين المفاتيح لوضع الإدراج، استخدم فقط أنا بدلاً من ن . على سبيل المثال، في وضع الإدراج، السيطرة + ص و السيطرة + ن تُستخدم المفاتيح للإكمال التلقائي للكلمة بناءً على المطابقة الخلفية والأمامية على التوالي. لرسم خريطة السيطرة + ص المفاتيح باستخدام مفتاح tab، سأستخدم الأمر التالي. :inoremap < فاتورة غير مدفوعة > < ج-ص >والأهم من ذلك، إذا كنت تريد الخريطة الوضع المعلق للمشغل الأوامر في وضع الإدراج ، فأنت بحاجة إلى إدراج <خروج> اضغط على المفتاح الموجود على الجانب الأيمن للخروج من وضع الإدراج لتنفيذ تلك الأوامر. على سبيل المثال، في خريطة المفاتيح التالية، أريد حذف 3 أسطر باستخدام السيطرة + س المفاتيح وأعد الدخول في وضع الإدراج. :inoremap < ج-س > 3ddiالآن، عندما أضغط على السيطرة + س المفاتيح، فإنه سيتم طباعة 3ddi الأمر بدلاً من تنفيذه.
ولإصلاحه، سأقوم بإدخال <خروج> قبل 3ddi يأمر. :inoremap < ج-س > < خروج > 3ddiالآن، سيتم تنفيذ الأمر احتفظ بي في وضع الإدراج. تفتقر العديد من أجهزة الكمبيوتر المحمولة الصغيرة إلى خروج المفتاح، وهو أمر مهم للخروج من الوضع الحالي. لذلك، لرسم خريطة خروج للخروج من وضع الإدراج، يمكن استخدام تعيين المفاتيح. في المثال التالي أستخدم السابق مفاتيح للخروج إلى الوضع العادي. :inoremap على سبيل المثال < خروج >عندما تضغط بسرعة على السابق مفاتيح سيتم الخروج من وضع الإدراج، وبالتالي الدخول في الوضع العادي. رسم خرائط الوضع المرئييعد الوضع المرئي وضعًا مهمًا للغاية لتحديد النص في محرر Vim. بصرف النظر عن التحديد الأساسي، يحتوي الوضع المرئي على أوضاع أخرى مختلفة مثل الخط المرئي وأوضاع الكتلة المرئية. في الوضع المرئي، التلدة (~) يستخدم لتبديل هذه القضية. لاستخدام التلدة (~)، عليك الضغط على المفتاحين (التحول+~) . في المثال التالي، أقوم بتعيين المفتاح c في الوضع البصري لتحديد كلمة تحت المؤشر وتغيير حالتها. :vnoremap ج iw~الآن، اضغط على v للدخول إلى الوضع المرئي واضغط على المفتاح c لتبديل الكلمة أسفل المؤشر كما هو موضح في صورة GIF التالية.
تعيين وضع سطر الأوامرتعمل العديد من أوامر Vim الأساسية في وضع سطر الأوامر فقط. مثل حفظ الملف :في يتم استخدام الأمر، بالمثل، للحفظ والإنهاء :wq يتم استخدام الأمر. تتم أيضًا جميع علامات التبويب وعمليات التقسيم في وضع سطر الأوامر. على سبيل المثال، من أجل إنشاء علامة تبويب جديدة، يجب : المرؤوس يتم استخدام الأمر. حسنًا، لإنشاء علامة تبويب بسرعة، السيطرة + ر المفاتيح كافية. :cnormap < ج-ر > موضوع < سجل تجاري >الآن، اضغط على النقطتين (:) للدخول إلى وضع سطر الأوامر ثم السيطرة + ر لفتح علامة تبويب جديدة؛ إنه أسرع بكثير من كتابة الكل موضوع أمر و يعود مفتاح.
إنشاء أوامر Vim المخصصة الآن، أدخل في وضع الأوامر وقم بتنفيذ الأمر :Mycmd يأمر. رسم خرائط الوضع المعلق للمشغلوضع المشغل المعلق هو الوضع الذي ينتظر فيه Vim أمر الحركة بعد الضغط على مفتاح المشغل. العوامل المشتركة هي y وd وc. على سبيل المثال، لحذف السطر الحالي والأسطر الثلاثة التالية، ستستخدم عامل التشغيل d مع 3j الحركة (d3j). لا يمكنك الضغط على هذه المفاتيح في وقت واحد لتحقيق العملية المطلوبة. يُستخدم الوضع عمومًا لرسم خريطة للحركات. دعونا نرسم حركة من شأنها تحديد الخط الحالي والخطوط الثلاثة المتبوعة به. :onoremap < F2 > 3jالآن، لسحب السطر الحالي والخطوط الثلاثة المتبوعة به، استخدم الأمر theF2 المفاتيح، بنفس الطريقة، د يمكن أيضًا تطبيق عامل التشغيل. شيء آخر مهم يجب أخذه في الاعتبار هو أنه إذا قمت بإضافة عدد إلى الحركة المعينة المذكورة أعلاه، فلنفترض 2 كيفية تعيين أحداث الماوسعلى الرغم من أن Vim هو محرر نصوص يتمحور حول لوحة المفاتيح وقابل للتخصيص بالكامل، إلا أن توفر وظائف الماوس يجعله أفضل. وبصرف النظر عن مفاتيح لوحة المفاتيح العادية، يمكن أيضًا تعيين جميع أحداث الماوس في Vim. على سبيل المثال، إذا كنت تريد تعيين النقر المزدوج بزر الماوس الأيمن والنقر المزدوج الأيسر للانتقال السريع بين العلامات للأمام والخلف على التوالي، فاستخدم التعيين التالي. :noremap < 2 -الفأرة اليمنى > ] `:noremap < 2 -زر الفأرة الأيسر > [ ` يتم عرض أحداث الماوس الأخرى التي يمكن تعيينها في الجدول التالي.
كيفية التعيين باستخدام مفتاح القائد في Vimتعيين Vim غير مكتمل بدون مفتاح القائد. المفتاح الرئيسي هو المفتاح الافتراضي الذي يمكن استخدامه لتعيين المفاتيح، حتى لو تم تعيينها للقيام ببعض المهام الأخرى. على سبيل المثال، إذا قمت بتعيين د مفتاح لحذف جميع الخطوط، ثم يمكننا تعيين نفس المفتاح لحذف 5 خطوط فقط باستخدام مفتاح القائد. بالنسبة لأولئك الذين ليس لديهم معرفة، مع مفتاح زعيم Vim. إنه مفتاح مسبوق بمفتاح آخر أو مجموعة مفاتيح لتعيين الأوامر أو العمليات. المفتاح الرئيسي الافتراضي لـ Vim هو شرطة مائلة عكسية (\)، ولكنه قابل للتخصيص. على سبيل المثال، د يتم استخدام الأمر لحذف السطر الموجود أسفل المؤشر. إذا كنت تريد رسم خريطة د الأمر لحذف جميع الأسطر في الملفات، ثم يمكنك استخدام مفتاح القائد. :noremap < قائد > د ggVGdالآن، كلما قمت بالضغط على \د المفتاح، سيتم حذف كافة الأسطر الموجودة في الملف. يمكنك إسناد مفتاح Vim القائد باعتباره مفتاح التحكم في نظام التشغيل Windows أو مفتاح الأمر في نظام التشغيل macOS. كيفية تعيين وظيفة Vimscriptلا يقتصر محرر Vim على الأوامر أو العمليات. توجد لغة برمجة كاملة حول Vim لإنشاء وظائف مخصصة تسمى Vimscript. يمكنك بسهولة إنشاء برنامج نصي أو وظيفة وتعيينها إلى مفتاح. على سبيل المثال، لنقم بإنشاء وظيفة من شأنها تمكين الإعدادات مثل رقم السطر ووظيفة الماوس وعرض النص. وظيفة اعداداتي ( )تعيين رقم تعيين الفأر =أ تعيين عرض النص = 80 endfunction ضع هذه الوظيفة في ملف vimrc. لنقم بتعيين هذه الوظيفة باستخدام القائد ومفاتيح s. سأستخدم :noremap < قائد > ق: اتصل بالإعدادات الخاصة بي ( ) < سجل تجاري >الآن، كلما قمت بالضغط على \س المفاتيح، سيتم استدعاء الوظيفة وسيتم تنفيذ أي وظيفة داخل الوظيفة. ملحوظة : يجب دائمًا كتابة الحرف الأول من اسم الوظيفة بأحرف كبيرة أثناء إنشاء وظيفة مخصصة في Vim. كيفية تعيين الأوامر الخارجية في Vimيمكن أيضًا تعيين الأوامر الخارجية في Vim. تشير الأوامر الخارجية إلى أوامر Linux أو Unix. على سبيل المثال، إذا كنت تريد رسم خريطة للخارج نوع أمر لفرز جميع الأسطر الموجودة في المخزن المؤقت الحالي إلى F1 المفتاح، استخدم الأمر التالي. :noremap < F1 > : %! نوع < سجل تجاري >بنفس الطريقة، إذا كنت تكتب ملف نصي وتجعله قابلاً للتنفيذ دون مغادرة جلسة Vim، فيمكنك استخدام الأمر chmod الأمر داخليا. على سبيل المثال، لجعل الملف الحالي قابلاً للتنفيذ، يمكنك تنفيذ الأمر :!chmod +x % في فيم. إذا كنت تقوم بهذه المهمة بشكل متكرر، فما عليك سوى تعيين مفتاح لها. :noremap < F1 > : ! chmod +س %في Vim، يمكن استخدام أي أمر خارجي مع علامة التعجب (!). كيفية إزالة خريطة المفاتيح في Vimلإزالة خرائط المفاتيح في Vim، حدد أولاً مكان تعريفها. كما ناقشنا سابقًا، يمكن أن تكون خرائط المفاتيح مخزنة محليًا ودائمة. إذا كانت خريطة المفاتيح دائمة وتم وضعها في ملف vimrc، فإن إزالتها من الملف ببساطة ستؤدي إلى إلغاء تعيين المفاتيح. إذا تم إجراء التعيين في المخزن المؤقت الحالي، فيمكن إزالتها باستخدام :إلغاء الخريطة أو :إلغاء الخريطة! الأوامر.
على سبيل المثال، لإزالة
لإزالة كافة الخرائط الموجودة في المخزن المؤقت الحالي، استخدم الأمر :mapclear يأمر. :mapclearسيقوم الأمر أعلاه بمسح جميع خرائط المفاتيح الخاصة بالوضع العادي أو المرئي أو المحدد أو المشغل المعلق. لمسح جميع خرائط المفاتيح الخاصة بوضعي الإدراج وسطر الأوامر، استخدم: :mapclear ! لاحظ أن أوامر Vim الافتراضية لا يمكن أن تكون واضحة، ومع ذلك، يمكن تعطيلها باستخدام الأمر :إلغاء الخريطة أمر مع <لا> . على سبيل المثال، إذا كنت تريد تعطيل وظيفة dd التي تحذف السطر الموجود أسفل المؤشر، فاستخدم :unmap dd لن يعد dd فعالاً في المخزن المؤقت الحالي. باستخدام هذه الطريقة، يمكن تعطيل أي خريطة مفاتيح للجلسة الحالية. ورقة الغش لرسم خرائط Vim الرئيسيةتوفر الصورة التالية قائمة بجميع الأوامر وأوضاعها المحددة كمرجع.
خاتمةيعد تعيين مفتاح Vim طريقة سهلة لأتمتة مهامك وربط المفاتيح المستخدمة بشكل متكرر والأوامر والعمليات الأخرى. إنه موضوع متنوع وفي هذا الدليل، قمت بتغطية جميع الجوانب الرئيسية المتعلقة بتعيين المفاتيح في Vim. بدءًا من بناء الجملة العام وحتى إنشاء خريطة مفاتيح أساسية وصولاً إلى تعيين وظائف Vimscript المتقدمة والأوامر الخارجية. لمعرفة المزيد حول تعيين مفتاح Vim، استخدم :مساعدة رسم الخرائط الرئيسية الأمر في فيم. |