Imagine שאתה עמוק כתריס במערכת ה-Linux שלך, מנסה בייאוש לערוך קובץ, וכל ניסיון מרגיש כמו לפענח קוד עתיק. אם ככל שאתה לוחץ סביבה, תתבודד יותר, למה לא לפנות ל-Vim עבור Linux?
במדריך זה, תפתח את סודותיו של Vim, עורר אתך למרץ מהשבעת כולכם כעורפי קווים למומחה בפקודת שורת הפקודה.
תפס את חרבך המטאפורית (כמו המקלדת שלך) וצא למסע אל עולם ה-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, המאפשר לך להקליד ולשנות את תוכן המסמך שלך.
ברגע שתיכנס למצב ההכנסה, תראה שהשורת מצב מציגה — הכנסה — כמו בדוגמה הבאה.

4. כעת, לחץ על Ctrl+Shift+V או Shift+Insert כדי להדביק את הטקסט שהעתקת בשלב השני לעורך ה-Vim, ולחץ Esc כדי לצאת ממצב ההכנסה (מעביר אותך למצב פקודה).
שים לב שהשורת המצב — הכנסה — מתבלטת, מה שמציין שחזרת למצב הפקודה.

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
כדי להחליף למצב הכנסה. - מחק את הערך (Backspace או Delete), שהוא 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 עבור Linux, בצע את הפעולות הבאות:
1. העבר את הסמן שלך אל הפרמטר MyaxSessions, במיוחד בתו ' y '.

2. לאחר מכן, לחץ על x
כדי להסיר באופן מיידי את התו שנמצא מתחת לסמן, שבמקרה זה הוא ' y '.
הפרמטר חוזר לטקסטו המקורי כ- MaxSessions, כפי שמוצג למטה.

3. העבר את הסמן שלך אל השורה PermitRootLogin no:.

4. עכשיו, לחץ על "_dd
כדי למחוק את כל שורת הטקסט, ללא תלות במיקום הסמן.
החלק "_
בפקודה מציין את רשומת השורה השחורה, המשליכה את הטקסט שנמחק (הוא לא יאוחסן בשום רשומה).
לווים יש את סט הרשומות שלו שבהם ניתן לאחסן טקסטים, ולא להגדיר את רשומת השורה השחורה הופך את הפקודה לחיתוך הטקסט במקום למחיקתו.
אם הפעולה הצליחה, תראה שהשורה 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. |
החלפת תווים ושורות של טקסט
מהמחיקות האסטרטגיות ב־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 מאפשר לך לטפח טקסט באופן אינטראקטיבי וחזותי יותר. מצב הוויזואלי מספק שיטה גמישה ויעילה להדגשת ולפעול על חלקים שונים של הטקסט שלך.
כדי לבחור ולערוך טקסט, תוכל לבחור ולערוך תווים יחידים או לבחור ולערוך בלוקים של טקסט, כפי שמוצג למטה.
1. הזז את הסמן שלך להתחלת הקובץ (gg
פקודה), ולחץ על v
כדי להפעיל את מצב הויזואלי, כפי שמוצג למטה.

2. לחץ על $
כדי להזיז את הסמן שלך לסוף השורה. בשל השהיית במצב הויזואלי, הפקודה מדגישה את שורת הטקסט.

3. כעת, בצע פעולת העתק-והדבק כדלקמה:
- לחץ על
y
כדי להעתיק את הטקסט המודגש לרשימת הרישום של Vim. - לחץ על
G$
כדי להזיז את הסמן לסוף השורה האחרונה בקובץ. - לחץ על
p
כדי להדביק את הטקסט שהעתקת (בדיוק לאחר הסמן).
שים לב שהפקודהp
שונה מהקיצורי מקשים להדבקת טקסטים (Ctrl+Shift+V או Shift+Insert). כשאתה מעתיק את הטקסט עם הפקודהy
, הטקסט מאוחסן ברשימת הרישום של Vim, והפקודהp
מדביקה את הטקסט מהרשימה.


4. בטל (u
) את הפעולה הקודמת שלך, הזז את הסמן שלך להתחלת הקובץ (gg
), ולחץ על V
(Ctrl+V) כדי להיכנס למצב השורת ויזואלי.
שונית למצב הויזואלי שבו באפשרותך לבחור שורות מרובות של טקסט, כפי שתראה בשלב הבא.

5. השתמש במקש החץ למטה שלך כדי לבחור את התווים מהתחלת הקובץ ועד שורת Protocol 2.

6. לחץ על d
כדי לגזור את השורות המרובות שנבחרו של הטקסט.

7. לבסוף, הדבק את הטקסט שגזרת בשלב שיש באופן הבא:
- הזז אל השורה האחרונה בקובץ (
G
), וצור שורה חדשה מתחת (o
). - חזרה למצב פקודה (
Esc
), והדבק את הטקסט (p
)

סיכום
מזל טוב! חקרת את התחומים המורכבים של Vim עבור Linux, פתחת ארגז אוצר של חוכמת עריכת טקסט בדרך. מיצירת ועריכת קבצים ועד לשליטה באמנות של מצב ויזואלי, הכסת את הכובע של הווים הווירטואוזו שבך.
אך ההרפתקאות שלך בשורת הפקודה החלה רק עכשיו. למה לא לחקוף יכולות מתקדמות כמו מאקרוס ו־תוסףיםים כדי להתאים את Vim לצרכיך?
השתמש במיומנויות היסודיות הללו כדי לחקוף ניבים עמוקים יותר של Vim, כמו ניהול קבצים, דפוסי חיפוש מורכבים ו־תסריטי Vim להתאמה אישית.