Anonim

vi הוא עורך טקסט ידוע מוכוון-מסך שחזר לימים הראשונים של יוניקס. התכונה המרשימה ביותר שלה היא שהיא יכולה לפעול בשני מצבים שונים.

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

אבל אם הפקודות כל כך שונות, האם באמת קל יותר להסיר שורות או לערוך אותן באמצעות פקודות הקשה? - בוא נגלה.

חיתוך קו או חסום

קישורים מהירים

  • חיתוך קו או חסום
        • מקם את הסמן מול שורת הטקסט שברצונך להסיר
        • לחץ על v והתחל בבחירה חזותית של הדמות
        • לחץ על V אם ברצונך לבחור שורות שלמות
        • לחץ על Ctrl + v או Ctrl + q אם ברצונך לבחור חסימה
        • מקם את הסמן בסוף שורת הטקסט
        • לחץ על d כדי לחתוך
  • עריכה מעל קו
  • מחיקת קווים מרובים
  • שימוש בתווים, מילים וקווים במצב רגיל
    • dd
    • x / X
    • dw
  • מחשבה אחרונה
  1. מקם את הסמן מול שורת הטקסט שברצונך להסיר

  2. לחץ על v והתחל בבחירה חזותית של הדמות

  3. לחץ על V אם ברצונך לבחור שורות שלמות

  4. לחץ על Ctrl + v או Ctrl + q אם ברצונך לבחור חסימה

  5. מקם את הסמן בסוף שורת הטקסט

  6. לחץ על d כדי לחתוך

אם ברצונך כעת להדביק שורה זו במקום אחר, פשוט הזיז את הסמן למיקום החדש ולחץ על p. שים לב שלחיצה על p תדביק את השורה או החסימה לאחר מיקום הסמן. אם אתה רוצה להדביק לפני מיקום הסמן, עליך ללחוץ על P.

עריכה מעל קו

אתה יכול גם לשנות את הטקסט שנבחר אם תלחץ על c בשלב 6. לחיצה על d תחתוך, לחיצה על y תישלח או תעתיק, ו- c תפתח את מצב הכניסה בו תוכלו להוסיף טקסט חדש. זה יכול לעזור לך להחליף קו או חסימה שלמים מבלי שתצטרך לטרוח קודם לחתוך אותם.

מחיקת קווים מרובים

יש שתי אפשרויות טובות אם ברצונך למחוק יותר משורה אחת ב- vi.

“:%d”

פקודה זו מוחקת את כל השורות. ה- ':' מכניס את vi למצב הפקודה. התו '%' אומר לו להחיל את 'd' (פקודה למחוק) על כל השורות.

“:1, $d”

זו האלטרנטיבה הפופולרית יותר. שוב, ה- ':' מציג פקודה. '1, $' מציין בפנינו אילו קווים למקד. בדוגמה זו זה יהיה הקווים המתחילים בשורה 1 והאחרון. 'd' מייצג מחיקה.

אך מה הופך את הפקודה הזו טובה יותר מהראשונה? - זה יכול להתאמה. אתה יכול להשתמש בו כדי למחוק שורות בכמויות גדולות אך מבלי שתצטרך למחוק כל אחת מהן.

אם אתה משתמש במשהו כמו “:4, $-2d” vi ימחק את כל השורות בין השלישית לשנייה האחרונה. הוא משאיר את שלושת הראשונים בשלמותם כיוון שהקווים מתחילים ב- 1 ולא ב- 0. וכן, אתה מציין את השורה הראשונה שברצונך למחוק שבדוגמה זו היא 4.

ה- '-2' בעצם מייצג את מספר השורות המתחילות מהקודם וסופרים חזרה ל -1.

שימוש בתווים, מילים וקווים במצב רגיל

ראשית, תרצה לוודא שאתה מכה ב- Escape כדי להיכנס למצב רגיל. לאחר מכן אתה יכול להשתמש בפקודות vi הבאות כדי למחוק מידע ספציפי.

dd

פקודה זו מוחקת שורה שלמה. אתה יכול למקם את הסמן בכל מקום על הקו, בין אם זה על מילה או על שטח ריק. הקו וכל החלל אותו תפס יימחקו.

x / X

אם אתה רוצה להסיר תו אחד בלבד משורה אתה יכול להשתמש ב- x. מקם את הסמן אחרי תו ולחץ על x. זה יסיר את הדמות ואת החלל שהיא תפסה. המשמעות היא גם שכל שאר הדמויות בקרבתו יתכנסו בכדי למלא את הפער.

אתה יכול גם להשתמש ב- x כדי למחוק חלל ריק בשורה. אם אתה מרחף מעל לדמות ואתה רוצה להסיר את הדמות שלפניה, לחץ על X במקום על x.

dw

לחיצה על dw כאשר הסמן ממוקם בתחילת מילה תמחק את המילה הזו. זה גם יסיר את החלל שתפוס את המילה. לחלופין, אתה יכול להסיר רק חלקים מהמילה.

מקם את הסמן לצד השמאלי של החלק שברצונך למחוק. לחץ על dw כדי להסיר את הדמויות ואת המרחב שהם תפסו בשורה. קחו בחשבון שעשיית פעולה זו תביא את הדמויות הסמוכות זו לזו למלא את החסר.

מחשבה אחרונה

מעניין וייחודי כמו vi כעורך מודאלי, לוקח זמן להתרגל אליו. יש מעט מאוד משוב בכל הנוגע למעבר בין מצבים. זה מקל מאוד מאוד להזין בטקסט טקסט בטעות כשאתה צריך לתת פקודה, ולהיפך.

כיצד למחוק את כל השורות ב- vi