تعلم نصائح وحيل ‘Vi/Vim’ المفيدة للمبتدئين – الجزء 1

الحاجة إلى تعلم كيفية استخدام محررات النصوص في لينكس لا جدال فيها، حيث يتعامل كل مدير نظام مع ملفات التكوين (نص عادي) يوميًا، وفي معظم الأحيان يتم ذلك بشكل خالص باستخدام أدوات واحدة أو أكثر من واجهة سطر الأوامر (مثل nano، vim، أو emacs).

بينما قد يكون nano مناسبًا أكثر للمستخدمين الجدد، فإن vim أو emacs هما الأدوات المفضلة لدى المستخدمين ذوي الخبرة بسبب قدراتهم المتقدمة.

لكن هناك سبب آخر يجعل تعلم كيفية استخدام أحد هذه المحررات يجب أن يكون أولوية قصوى بالنسبة لك: قد تصادف خادمًا يعمل بواجهة سطر الأوامر فقط أو تواجه مشكلة مع مدير سطح المكتب في خادمك أو سطح المكتب الذي يعمل بنظام لينكس مستند إلى واجهة رسومية، والمصدر الوحيد لفحصه وتحرير ملفات التكوين هو واجهة سطر الأوامر.

بين هذا المقال والمقال التالي في هذه السلسلة المكونة من مقالين، سنستعرض 15 نصيحة وخدعة لتحسين مهاراتك في استخدام vim. يفترض أنك بالفعل ملم بمحرر النص هذا.

إذا لم يحدث ذلك، فأفعل نفسك خدمة وتعرف على vim قبل المتابعة: قد ترغب في الرجوع إلى كيفية استخدام محرر النص vim للحصول على دليل مفصل للبدء مع vim.

1. الوصول إلى المساعدة المتوفرة على الإنترنت في Vim

بعد تشغيل vim، اضغط على F1 أو استخدم :h في ex الوضع لدخول المساعدة المتوفرة على الإنترنت. يمكنك الانتقال إلى قسم أو موضوع معين عن طريق وضع المؤشر عليه ثم الضغط على Ctrl+] (Ctrl، ثم الإقفال المربع).

بعد الانتهاء، اضغط على Ctrl+t للعودة إلى الشاشة السابقة. أو يمكنك البحث عن موضوع أو أمر معين باستخدام :h <موضوع أو أمر>.

على سبيل المثال،

:h x 

سيعرض المساعدة لأمر x (حذف):

Vi Editor Online Help

و

:h substitute

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

2. إضافة الإشارات داخل محرر Vim

إذا وجدت نفسك تعديل ملف أكبر من شاشة واحدة، فستقدر وظيفة الإشارات التي يوفرها الإشارات. يمكنك التفكير في إشارة في vim كإشارة – بمجرد وضعها في مكان ما، يمكنك العودة إليها بسرور وسهولة.

لنفترض أنك تقوم بتعديل 300 كلمة من ملف التكوين ولسبب ما تحتاج إلى التبديل بين خطوط 30 و 150 على سبيل المثال.

أولاً، اذهب إلى السطر #30 عن طريق إدخال :30 في وضع ex، ثم عد إلى وضع الأمر واضغط على ma (m، ثم a) لإنشاء علامة تسمى “a” في السطر رقم 30.

ثم انتقل إلى السطر رقم 250 (مع :250 في وضع ex) واضغط على `a (علامة الترقيم العكسي، ثم a) للعودة إلى العلامة a في السطر رقم 30.

يمكنك استخدام الأحرف الصغيرة والكبيرة لتحديد العلامات في فيم (كرر العملية لإنشاء علامة تسمى A في السطر رقم #250).

يمكنك عرض علاماتك مع

:marks aA
Marks Usage in Vim Editor

كما ترى، يتم الإشارة إلى كل علامة بموقع محدد بالخط/العمود في الملف، ليس فقط بالسطر.

3. تنظيف الكود بسهولة في Vim

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

أولاً، حدد كتلة بصرية عن طريق وضع المؤشر في بداية الكتلة، ثم اضغط Ctrl+v (Ctrl، ثم v).

  • لنزع الدفعة إلى اليسار: اضغط <j
  • للدفع الدفعة إلى اليمين: اضغط <j

ثم اضغط على النقطة (.) لتكرار الإزاحة. ستنتقل الكتلة المحددة إما إلى اليمين أو إلى اليسار بضغطة واحدة فقط.

آخر مثال كلاسيكي على استخدام أمر النقطة هو عندما تحتاج إلى حذف سلسلة من الكلمات: ضع المؤشر على الكلمة الأولى التي تريد حذفها، ثم اضغط dw.

للمتابعة في حذف الكلمات التالية، ما عليك سوى الضغط على . (أسهل وأقصر من تكرار dw عدة مرات).

4. إدراج الأحرف اليونيكود في Vim

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

للقيام بذلك، اضغط على Ctrl+v في وضع الإدراج تليها الحرف u والرمز العشري السداسي للحرف الذي تريد إدراجه.

يمكنك الاطلاع على جداول اليونيكود للحصول على قائمة بالأحرف الخاصة ورموزها العددية المقابلة.

على سبيل المثال،

Ctrl+v followed by returns
u0040 @
u00B5 μ
u20AC

5. دمج إخراج الأوامر الخارجية في Vim

ستواجه أحيانًا حاجة لإدراج إخراج الأوامر الخارجية مباشرة في ملف يتم تحريره بواسطة vim.

على سبيل المثال، غالبًا ما أنشئ متغيرًا يسمى DIR في نصوصي لتخزين المسار المطلق إلى الدليل الذي يتواجد فيه النص من أجل استخدامه لاحقًا في النص.

للقيام بذلك، استخدم:

:r! pwd 

في وضع ex. وبالتالي، يتم إدراج دليل العمل الحالي.

آخر مثال: إذا كنت مطالبًا باستخدام بوابة افتراضية في مكان ما في سكريبت، يمكنك بسهولة إدراجها في الملف الحالي دون الخروج من vim على النحو التالي:

:!r ip route show | grep default | cut -f 3 -d " "

6. إضافة محتويات ملف خارجي في Vim

إذا كنت بحاجة إلى إضافة محتويات ملف منفصل إلى الملف الذي تقوم بتحريره حاليًا، فإن الصيغة مماثلة للنصيحة السابقة. ما عليك سوى حذف علامة التعجب وستكون على ما يرام.

على سبيل المثال، لنسخ محتويات /etc/passwd:

:r /etc/passwd

قد تجد هذه النصيحة مفيدة عندما تحتاج إلى تعديل ملفات التكوين ولكن تريد الاحتفاظ بالأصلية للرجوع إليها “إلى الإعدادات المصنعية”، لنقل.

7. البحث والاستبدال لكلمة في Vim

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

بالنسبة لأولئك الذين يعرفون sed، ستثير هذه الطريقة ذكرياتهم – في وضع ex، اكتب:

:%s/old/new/g

حيث القديم هو النمط الذي يتم البحث عنه و الجديد هو السلسلة التي ستحل محله.

في الحالة الموصوفة أعلاه، استخدمت:

:%s/Globe/Earth/g

لإنجاز المهمة.

فماذا عنك إذا كنت ترغب في أن تُطلب قبل إجراء الاستبدالات؟ سهل. ما عليك سوى إضافة c في نهاية الأمر أعلاه، على النحو التالي:

:%s/old/new/gc

سيتم تحديد حدوثات النمط وسيُطلب منك ما إذا كنت ترغب في استبداله بالسلسلة الجديدة:

:%s/gacanepa/me/gc
Search and Replace String in Vim

حيث

  • y: yes
  • n: no
  • a: substitute all
  • q: quit
  • l: substitute this occurrence and quit
  • ^E (Ctrl+E): التمرير لأعلى بشاشة واحدة
  • ^Y (Ctrl+Y): التمرير لأسفل بشاشة واحدة
الملخص

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

Source:
https://www.tecmint.com/learn-vi-and-vim-editor-tips-and-tricks-in-linux/