Vim ו-Neovim למתחילים¶
יש בדיחה ותיקה בעולם התכנות - "איך יוצאים מ-Vim?" והתשובה האמיתית היא שאלפי מתכנתים נתקעו בו בפעם הראשונה שפתחו אותו בטעות בטרמינל, בלי לדעת שכדי לצאת צריך ללחוץ Esc ואז להקליד :q. אם זה קרה לכם, אתם לא לבד. אבל מאחורי הבדיחה הזאת מסתתר כלי שהרבה מתכנתים ותיקים ממש לא מוכנים לוותר עליו.
למה בכלל עורך טקסט מהטרמינל¶
Vim הוא עורך טקסט שרץ לגמרי בתוך הטרמינל, בלי חלון גרפי, בלי עכבר, ובלי שום דבר שדומה לVS Code. זה נשמע כמו נסיגה בזמן, אבל זה בדיוק החוזק שלו - הוא קל משקל להפליא, מותקן כמעט בכל שרת לינוקס בעולם כברירת מחדל, ורץ באותה מהירות בין אם אתם על מחשב חזק או על שרת מרוחק עם חיבור איטי דרך SSH. כשאתם צריכים לערוך קובץ קונפיגורציה על שרת רחוק בשתיים בלילה, VS Code לא שם - אבל Vim תמיד שם.
מוד רגיל ומוד עריכה - ההבדל שמבלבל בהתחלה¶
הדבר שהכי מבלבל מתחילים ב-Vim הוא שיש לו "מודים" שונים. במוד רגיל (normal mode), האותיות במקלדת הן לא טקסט - הן פקודות. הקלדת dd מוחקת שורה שלמה. הקלדת yy מעתיקה שורה. הקלדת gg קופצת לתחילת הקובץ. רק כשלוחצים i נכנסים למוד עריכה (insert mode), שם סוף סוף הקלדה רגילה מוסיפה טקסט כמו בכל עורך אחר. ה-Esc מחזיר אתכם למוד רגיל.
זה נשמע מסורבל, אבל הרעיון מאחורי זה הוא שרוב הזמן שאתם עורכים קוד, אתם לא מקלידים טקסט חדש - אתם זזים בין שורות, מוחקים, מעתיקים, ומחליפים. Vim בנוי כך שכל הפעולות האלה הן שילובי מקשים קצרים במיוחד, בלי להסיר את הידיים מהמקלדת בכלל לכיוון עכבר.
Neovim - הגרסה המודרנית¶
Neovim הוא פרויקט שהתחיל כפיצול מ-Vim המקורי, במטרה לחדש אותו לעולם המודרני בלי לשבור את מה שהופך אותו לVim מלכתחילה. הוא תומך בשפות תכנות להרחבה כמו Lua, מה שהופך התאמה אישית להרבה יותר נגישה מהתסריטים הישנים של Vim, ומאפשר לו להתחבר בקלות ליכולות מודרניות כמו השלמת קוד חכמה, אינטגרציה עם שרתי שפה (LSP), ואפילו כלי AI. הרבה מתכנתים שמכירים "Vim מודרני" היום בפועל מתכוונים לNeovim עם תוספים.
אז מי באמת צריך את זה¶
הכנות חשובה - למתחיל שרק לומד לתכנת, אין שום סיבה טובה להתחיל עם Vim. VS Code או כל עורך גרפי אחר יהיו הרבה יותר נוחים ופרודוקטיביים בשלב הזה, וללמוד תכנות ועריכת קוד לא-אינטואיטיבית בבת אחת זה עומס מיותר. Vim נהיה שימושי במיוחד בשני מצבים - כשעובדים הרבה על שרתים מרוחקים דרך SSH, שם עורך גרפי לא זמין בכלל, וכשמגיעים לרמת נוחות עם המקלדת שבה שילובי המקשים המהירים באמת חוסכים זמן משמעותי לאורך יום עבודה שלם.
מתכנתים בתחומי לינוקס, DevOps, אבטחת מידע ומחקר, שנמצאים כל הזמן על שרתים מרוחקים, נתקלים ב-Vim בהכרח, גם אם רק כדי לערוך קובץ קונפיגורציה מהיר בלי להתקין שום דבר נוסף. ללמוד לפחות את הפקודות הבסיסיות - כניסה ויציאה ממוד עריכה, שמירה, וחיפוש - זה השקעה קטנה שחוסכת בלבול מיותר בדיוק ברגע שהכי פחות רוצים אותו.
מאיפה מתחילים עם לינוקס בכלל¶
Vim הוא רק חלק קטן מהעולם של עבודה נוחה בטרמינל לינוקס - יחד עם ניווט בקבצים, הרשאות, וניהול תהליכים. בקורס לינוקס בסיסי שלנו אנחנו בונים את כל היסודות האלה מאפס, כולל עבודה נוחה בטרמינל, בעברית ובחינם.
התקעתם ב-Vim ולא הצלחתם לצאת ממנו בפעם הראשונה? זה כמעט מסורת מעבר בקהילת המתכנתים, וגם לזה יש קהילה שתעזור.