تخيل نفسك عميقا في نظام Linux الخاص بك، تحاول بشدة تعديل ملف، وكل محاولة تشعرك بكونها فك شيفرة قديمة. إذا كان كلما قمت بالنقر حولك ، كلما تشعرت بالضياع، فلماذا لا تلجأ إلى Vim لنظام Linux؟
في هذا البرنامج التعليمي ، ستكتشف أسرار Vim ، وهو محرر نص مشهور ، وتتحول من متجول Linux إلى خبير في سطر الأوامر.
استعد سيفك المجازي (أي لوحة المفاتيح الخاصة بك) وانطلق إلى عالم Vim!
المتطلبات الأساسية
فيما يلي بعض المتطلبات الأساسية لإتقان Vim على نظام Linux الخاص بك:
- A Linux OS – This tutorial uses an Ubuntu 22.04 LTS.
- يجب أن يكون Vim مثبتًا على جهازك – انظر إلى الوثائق الرسمية حول كيفية تثبيت Vim.
إنشاء وتحرير الملفات باستخدام Vim على نظام Linux
يعمل Vim في وضعيات مختلفة ، ويوفر كل منها إمكانيات تحرير فريدة. ولكن قبل الانتقال إلى تلك الوضعيات ، يجب عليك أولاً أن تتعلم كيفية إنشاء وتحرير الملفات باستخدام Vim على نظام Linux.
لإنشاء وتحرير ملف باستخدام Vim ، اتبع هذه الخطوات:
1. افتح الطرفية وقم بتنفيذ الأمر التالي vim
لإنشاء ملف يسمى sshd_config
(عشوائي) باستخدام Vim. يقوم هذا الأمر تلقائيًا بإنشاء الملف إذا لم يكن موجودًا. وإلا، يتم فتح الملف الحالي في Vim.
واجهة Vim تبدو كما هو موضح أدناه إذا قمت بإنشاء ملف جديد، وهذا يعني أن Vim يعمل حاليًا في وضع الأوامر. وضع الأوامر هو واحد من أوضاع التفاعل الرئيسية التي تعمل فيها مع النص في محرر Vim.

2. بعد ذلك، قم بنسخ النص أدناه إلى الحافظة الخاصة بك، والذي يحتوي على إعدادات خادم SSH عينة فقط للتوضيح ولا يعكس تكوينات الخادم الفعلية.
3. في Vim، اضغط على الأمر i
للدخول إلى وضع الإدخال. وضع الإدخال هو أيضًا واحد من أوضاع Vim الرئيسية، والذي يتيح لك كتابة وتعديل محتوى المستند الخاص بك.
بمجرد دخولك إلى وضع الإدخال، سترى أن شريط الحالة يعرض — INSERT — مثل ما يلي.

4. الآن، اضغط على Ctrl+Shift+V أو Shift+Insert للصق النص الذي قمت بنسخه في الخطوة الثانية إلى محرر Vim، واضغط على مفتاح Esc للخروج من وضع الإدخال (الانتقال إلى وضع الأوامر).
لاحظ أن الحالة — INSERT — تختفي، مما يعني أنك عائد إلى وضع الأوامر.

5. أخيرًا، اكتب الأمر :w
واضغط على Enter لحفظ التغييرات في الملف دون إغلاق المحرر.
عند الحاجة، يمكنك تنفيذ الأوامر الأخرى التالية:
Command | Details |
---|---|
:q! |
Quit the editor without saving the changes. |
:w! |
Write the current file changes forcefully. |
:wq |
Save the changes and quit the editor (or :wq! to save and quit forcefully). |
e! |
Revert to the last saved version of the file. |

تعرض السطر الحالة حجم البيانات المكتوبة إلى الملف، والتي في هذه الحالة هي 23 سطر (23L) و 624 بايت (624B).

التنقل في النصوص في Vim
بعد فهم فن إنشاء وتحرير الملفات بـ Vim، ستغوص في مهارة حاسمة سترفع من قدرتك على تحرير النصوص – التنقل في Vim. التنقل الفعّال هو المفتاح لاستكشاف إمكانيات Vim، مثل استكشاف مناظر طبيعية شاسعة.
لمعرفة كيفية التنقل في النصوص في Vim، قم باتباع الخطوات التالية:
1. الآن، اكتب الأمر :set nu
واضغط Enter لتفعيل أرقام الأسطر في Vim. ترقيم الأسطر ميزة مهمة في المحرر عند التعامل مع الشفرات أو المستندات الكبيرة.
إذا نجحت العملية، سترى أرقام الأسطر في المحرر، كما هو موضح أدناه.

2. بعد ذلك، انتقل إلى وضع الأوامر (Esc
) واضغط على الأمر gg
للانتقال إلى بداية الملف.

3. بعد ذلك، اضغط على أي من الأوامر التالية حتى تصل إلى بداية المعلمة MaxSessions، واضغط $
لنقل المؤشر إلى نهاية السطر.
Command | Details |
---|---|
h |
Move the cursor to the left or the previous character. |
j |
Move the cursor one line down. |
k |
Move the cursor one line up. |
l |
Move the cursor to the right or the next character. |

4. الآن، قم بتبديل النص بالتالي:
- اضغط
i
للتبديل إلى وضع الإدخال. - احذف القيمة (مسافة إلى الخلف أو حذف)، وهي 10، واستبدلها بـ 25.
- انتقل إلى وضع الأوامر (
Esc
) واحفظ التغييرات (:w
).

إدراج النصوص في نقاط معينة
تقدم Vim مجموعة من الأوامر التي تسمح بالتحكم الدقيق في مكان وكيفية إدراج النصوص الجديدة (بالضبط حيث تحتاج إليها). تعمل هذه الوظيفة سواء كنت ترغب في إدراجها في بداية السطر، فورًا بعد موضع المؤشر الحالي، أو في نهاية السطر.
لرؤية كيفية عمل إدراج النصوص في نقاط محددة، قم باتباع الخطوات التالية:
1. اضغط على I
(Shift+I) أثناء وجود المؤشر في نهاية السطر للدخول في وضع الإدراج وفي نفس الوقت وضع المؤشر في بداية السطر.

2. انتقل إلى وضع الأوامر (Esc
)، حرك المؤشر إلى أي حرف آخر في السطر الحالي (أي في البداية)، واضغط على الأمر a
.
يقوم هذا الأمر بتحويل Vim إلى وضع الإدراج ويضع المؤشر على الحرف التالي من موقعه السابق. هذا السلوك مفيد لإضافة نص سريعًا في منتصف السطر دون إزعاج النص الموجود.

3. أدخل ‘y’ لتغيير المفتاح MaxSession إلى MyaxSession، كما هو موضح أدناه، وعود إلى وضع الأوامر (Esc
).
سوف تلاحظ أن الحرف الجديد ‘y’ يظهر فورًا بعد الحرف الأول.

4. الآن، قم بتعديل السطر النصي على النحو التالي:
- اضغط على Shift+A لتنفيذ الأمر
A
، الذي يسمح لـ Vim بدخول وضع الإدراج وتحريك المؤشر إلى نهاية السطر. هذا السلوك مثالي لإضافة محتوى مثل فاصلة منقوطة أو إنهاء جملة. - أضف 0 في نهاية السطر، مما يغير القيمة إلى 250.
- العودة إلى وضع الأمر (
Esc
)، وحفظ التغييرات (:w
)

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

2. انتقل إلى وضع الأمر (Esc
)، ثم حدد المؤشر على سطر آخر من النص، واضغط على O
(Shift+O) لإضافة سطر جديد أعلاه للسطر الحالي من النص.

3. الآن، أضف الأمر التالي إلى الملف واحفظ التغييرات (:w
).

حذف الكلمات والأسطر من النصوص
يوفر Vim أوامر فعالة لحذف واستبدال النصوص ما بعد مفاتيح الحذف الأساسية أو المسافة البيضاء. هذه الأوامر متاحة من وضع الأمر، مما يتيح لك إجراء تعديلات وتصحيحات بسرعة، مما يتيح لك حذف أو استبدال الأحرف أو الكلمات أو الأسطر بأكملها.
لحذف واستبدال النصوص في Vim لنظام التشغيل Linux، قم بتنفيذ ما يلي:
1. حرّك المؤشر إلى المعلمة MyaxSessions، تحديدًا عند الحرف ‘y‘.

2. بعد ذلك، اضغط على x
لإزالة الحرف تحت المؤشر على الفور، والذي في هذه الحالة هو ‘y‘.
ستعود المعلمة إلى نصها الأصلي كـ MaxSessions، كما هو موضّح أدناه.

3. حرّك المؤشر إلى السطر PermitRootLogin no:.

4. الآن، اضغط "_dd
لحذف السطر بأكمله، بغض النظر عن موضع المؤشر.
الجزء "_
في الأمر يحدد السجل الفراغ، الذي يُلقي بالنص المحذوف (لن يتم تخزينه في أي سجل).
لدى Vim مجموعة خاصة به من السجلات يمكنك فيها تخزين النصوص، وعدم تحديد السجل الفراغ يجعل الأمر يقطع النص بدلاً من حذفه.
إذا نجح الأمر، ستلاحظ أن السطر PermitRootLogin no: قد اختفى.

5. وأنت في وضع الأمر، ضع المؤشر في بداية الكلمة Specifies في السطر # Specifies whether root can log in using ssh.

6. في النهاية، قم بتنفيذ الأمر "_dw
، الذي يزيل الكلمة Specifies كما هو موضّح أدناه:

اختيارياً، يمكنك الاختيار مع الأوامر التالية لعمليات حذف إضافية:
Command | Details |
---|---|
"_d$ |
Delete texts from the cursor position to the end of the line. |
"_D |
Deletes from the cursor position to the end of the line. |
"_d^ |
Deletes from the cursor position to the first non-whitespace character of the line |
"_dgg |
Deletes from the cursor position to the beginning of the file. |
"_dG |
Deletes from the cursor position to the end of the file. |
استبدال الأحرف والأسطر من النص.
Translated text:
من خلال حذف الاستراتيجيات في Vim، حول انتباهك إلى الجانب الآخر من العملة — استبدال الأحرف والأسطر النصية. الاستبدال هو السكينة التي تتيح لك تنقية وإعادة تعريف نصك بدقة. الخبر الجيد هو أن Vim يتيح لك أداء استبدال لحظي للأحرف أو أسطر كاملة من النص.
لاستبدال الأحرف والأسطر النصية، تابع هذه المهام:
1. قم بتحديد موقع المؤشر على السطر AuthorizedKeysFile .ssh/authorized_keys، على وجه التحديد الحرف ‘z‘ في authorized، كما هو موضح أدناه:

2. بمجرد التحديد، اضغط على r
، الذي يخبر Vim بأنك على وشك استبدال الحرف تحت المؤشر وإدخال الحرف ‘s‘. يتيح لك أمر r
استبدال حرف دون دخول وضع الإدراج (i
) أولاً.
لاحظ أن الحرف ‘z‘ في authorized قد تم استبداله بالحرف ‘s‘، مغيرًا الكلمة إلى authorised.

3. فيما بعد، ضع مؤشرك على الحرف ‘ z‘ في AuthorizeKeysFile.

4. اضغط على R
(Shift+R) لدخول وضع الاستبدال، اكتب ‘s‘ لاستبدال الحرف، ولكن لا تخرج من وضع الاستبدال بعد.
على عكس أمر r
، الذي يسمح لك فقط بتبديل حرف واحد، يسمح لك أمر R
بالكتابة فوق النصوص الحالية أثناء كتابتك بشكل مستمر.

5. في النهاية، انسخ النص التالي إلى الحافظة، ثم انقل المؤشر إلى بداية الملف، والصق النص الذي نسخته (Ctrl+Shift+V أو Shift+Insert).
نظرًا لأنك لا تزال في وضع الاستبدال، فإن لصق النص يستبدل السطر الأول في الملف.

البحث في النصوص داخل ملف
عند إعادة أو تراجع الإجراءات، تكون مهارة البحث في النصوص داخل ملف مفيدة. تتيح لك Vim البحث عن كلمات محددة أو عبارات أو أنماط معينة في ملفك.
تخيل الارتفاع الكبير في الإنتاجية عندما يمكنك بسرعة تحديد وتلاعب بأقسام نصية معينة دون التمرير بدون هدف.
للبحث عن النصوص داخل ملف، قم باتباع هذه الخطوات:
1. انقل المؤشر إلى بداية الملف (باستخدام الأمر gg
)، ثم اضغط /
(شرطة مائلة للأمام) لبدء وضع البحث، ثم اكتب مصطلح البحث log، واضغط على Enter.
يقوم هذا الأمر بالبحث عن المصطلح الذي حددته (log)، وينقل المؤشر إلى الحدوث التالي للمصطلح.

2. بعد ذلك، اضغط على n
للانتقال إلى الحدوث التالي للمصطلح.

3. الآن، اضغط على N
(Shift+N) للعودة إلى الحدوث السابق.

بالإضافة إلى ذلك، يوفر Vim اختصارات بحث أخرى مثل ما يلي لمزيد من مرونة البحث:
Command | Details |
---|---|
? |
Initiates a reverse search of a term. |
* |
Performs a forward search for the word under the cursor. Continue pressing * to cycle through further occurrences of the word until it loops back to the first instance. |
# |
Performs a backward search for the word under the cursor. Continuously pressing # works similarly to the * command but cycles until it loops back to the last instance. |
الجمع بين البحث مع أوامر أخرى على Vim
أثناء تصفح المناظر الطبيعية المعقدة لـ Vim، لماذا لا تضيف طبقة أخرى إلى مهارتك في تحرير النصوص — بجمع البحث مع أوامر أخرى؟
يسمح Vim لك بتنفيذ إجراءات تتراوح بين استبدال الحالات المحددة إلى حذف الأسطر التي تطابق نمطًا.
لشهادة التكامل بين البحث والإجراء في Vim ، قم بتنفيذ ما يلي:
1. أثناء وجودك في وضع الأمر ، ضع المؤشر في نقطة البدء التي ترغب في بدء الحذف منها (أي أول حدوث لمصطلح البحث log).

2. بعد ذلك ، اكتب d/log
واضغط على مفتاح Enter لحذف كل شيء من موضع المؤشر إلى الحدوث التالي لمصطلح log ، كما هو موضح أدناه.

3. تراجع عن الإجراء السابق (باستخدام الأمر u
) ، وضع المؤشر عند أول حدوث لمصطلح البحث log.

4. الآن ، قم بتنفيذ الأمر التالي للبحث واستبدال النصوص في نطاق محدد ، حيث:
-
:.
– يدخل وضع الأمر (:
) في السطر الحالي (.
). -
,$
– يحدد النطاق للاستبدال. s/log/logs/g
– Substitute all occurrences of the old word (log
) with new (logs
) globally (g
) within the specified range.

تحديد النصوص أثناء وجودك في وضع الرؤية في Vim
بالإضافة إلى دمج فن البحث مع أوامر أخرى في Vim ، يجب أن تكتشف ميزة تحوّل تجربة تحرير النص الخاصة بك. يتيح وضع Vim الرؤية لك تعديل النص بشكل أكثر تفاعلية وبصرياً. يوفر وضع الرؤية طريقة مرنة وفعالة لتمييز النص والعمل على جزء من النص الخاص بك.
لتحديد وتحرير النص ، يمكنك اختيار تحديد وتحرير الأحرف الفردية أو تحديد وتحرير كتل من النص ، على النحو التالي:
١. حرّك المؤشر إلى بداية الملف (باستخدام أمر gg
)، واضغط على v
لتفعيل وضع الرؤية، كما هو موضح أدناه.

٢. اضغط على $
لنقل المؤشر إلى نهاية السطر. نظرًا لأنك في وضع الرؤية، يبرز الأمر السطر النصي.

٣. الآن، قم بإجراء عملية نسخ ولصق على النحو التالي:
- اضغط على
y
لنسخ النص المحدد إلى سجل Vim. - اضغط على
G$
لتحريك المؤشر إلى نهاية السطر الأخير في الملف. - اضغط على
p
للصق النص الذي قمت بنسخه (بشكل خاص بعد المؤشر).
يرجى ملاحظة أن أمرp
يختلف عن مفاتيح الاختصار في لصق النصوص (Ctrl+Shift+V أو Shift+Insert). أثناء نسخ النص بأمرy
، يتم تخزين النص في سجل Vim، وأمرp
يلصق النص من السجل.


٤. تراجع (u
) عن الإجراء السابق، حرّك المؤشر إلى بداية الملف (باستخدام gg
)، واضغط على V
(Ctrl+V) للدخول إلى وضع السطر الرئيسي البصري.
على عكس اختيار سطر واحد في وضع الرؤية، يتيح لك وضع السطر البصري اختيار عدة أسطر نصية، كما ستراه في الخطوة التالية.

٥. استخدم مفتاح الأسهم لأسفل لتحديد الأحرف من بداية الملف حتى سطر Protocol 2.

٦. اضغط على d
لقطع الأسطر المتعددة المحددة من النص.

٧. في الختام، الصق النص الذي قطعته في الخطوة السادسة على النحو التالي:
- انتقل إلى آخر سطر في الملف (
G
)، وأنشئ سطرًا جديدًا أدناه (o
). - عودة إلى وضع الأوامر (
Esc
)، والصق النص (p
).

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