חיפוש והחלפת Vim

Vim Search Replace



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

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







שיטה מס '1 מצא והחלף אירוע אחד בכל פעם (באמצעות פקודת החיתוך והנקודה)

הדרך הפשוטה ביותר לחפש ולהחליף מילה ב- Vim היא באמצעות פקודת החיתוך והנקודה. ניתן להשתמש ב- Slash (/) לחיפוש מילה בעוד הנקודה (.) יכולה לשמש להחלפת מילה זו.



בצע את השלבים הפשוטים להלן כדי לחפש ולהחליף כל מילה בעורך Vim:



  • פתח את הקובץ ב- Vim
  • הקש על מקש החיתוך ( /) יחד עם מונח החיפוש כמו / search_term ולחץ על Enter. היא תדגיש את המילה שנבחרה.
  • לאחר מכן לחץ על הקשה cgn כדי להחליף את המילה המודגשת והזן את term_term
  • חזור למצב רגיל. לאחר מכן לחץ על n כדי לעבור להופעה הבאה של מונח החיפוש.
  • לאחר מכן לחץ על הנקודה (.) אם ברצונך להחליף את ההתרחשות הבאה עם אותו substit_term אחרת לחץ שוב על מקש n כדי לעבור להופעה הבאה.

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





עם Vim, יש עוד דרך טובה יותר להימנע ממשימה חוזרת ונשנית זו באמצעות הפקודה החלופית.

שיטה מס '2 חפש והחלף באמצעות הפקודה תחליף

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



$: ש/<מונח חיפוש> /<להחליף_טווח> /אוֹפְּצִיָה

שים לב שעליך להזין פקודה זו במצב רגיל.

איפה

  • S: מייצג תחליף
  • term_term: המילה שברצונך לחפש ולהחליף
  • Replace_term: המילה שבה ברצונך להחליף אותה
  • אפשרות: c (לאישור), g (החלף את כל המופע בשורה אחת), i (להתעלמות מהמקרה)

חפש והחליף

לביצוע חיפוש בסיסי והחלפה באמצעות הפקודה תחליף, השתמש בתחביר הבא:

:%ש/<מונח חיפוש> /<להחליף_טווח> /ז

פקודה זו תחליף את כל המופעים של search_term ב - substit_term.

לדוגמה, זהו הטקסט לדוגמה שלנו:

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

על מנת להחליף כל הופעה של אובונטו בדביאן בטקסט הבא, הפקודה הבאה תשמש:

:%ש/אובונטו/דביאן/ז

חפש והחלף בשורה אחת

כדי לחפש ולהחליף את המופע של מילה בשורה אחת בלבד במקום בקובץ כולו, השתמש בתחביר הבא:

: ש/<מונח חיפוש> /להחליף_טווח/ז

לדוגמה, כדי להחליף את המופע של אובונטו בדביאן בטקסט לדוגמא לעיל, הפקודה הבאה ללא סמל % תעשה שימוש:

: ש/אובונטו/דביאן/ז

חפש והחלף באישור

אם ברצונך להתבקש לאישור לפני החלפת מונח החיפוש, השתמש ב- c בסוף פקודת החיפוש כדלקמן:

: ש/<מונח חיפוש> /<להחליף_טווח> /gc

הפקודה לעיל תבקש אישור לפני כל החלפה (הזן y עבור כן ואילו n לא).

חיפוש והחלפה ללא רישיות

כאשר אתה מבצע חיפוש והחלפה ב- Vim, כברירת מחדל, הוא תלוי באותיות רישיות. תוכל לבצע חיפוש ללא רגישות באמצעות רישיות על ידי הוספת i בסוף הפקודה כדלקמן:

: ש/<מונח חיפוש> /<להחליף_טווח> /לָתֵת

לדוגמה, לחיפוש המונח אובונטו ללא קשר למקרה שלו (UBUNTU, אובונטו, אובונטו, uBuntu), הפקודה הבאה תשמש:

: ש/אובונטו/דביאן/לָתֵת

חפש והחליף את כל המילה

כברירת מחדל, הפקודה החלופית תחפש כל התאמה בין אם היא חלקית או מלאה. על מנת להתאים את term_term המדויק ולאחר מכן להחליף אותו ב- term_term, צרף את מונח החיפוש _ בתוך.

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

: ש/<אתה> /אני/

היא תמצא את המילה אתה ותחליף אותה איתי. עם זאת, זה לא יחליף את המילים כמו שלך.

חפש והחליף מילים בין שורות מסוימות

על מנת לחפש מילה בין השורות המסוימות במקום בשורה אחת בלבד או בקובץ כולו, ניתן להשתמש בתחביר הבא:

:<קו ההתחלה>,<קו סיום>ש/<מונח חיפוש> /<להחליף_טווח> /ז

לדוגמה, לחיפוש והחלפת הופעת אובונטו בדביאן משורות הנעים בין 3 ל -8 בקובץ כלשהו, ​​הפקודה תהיה:

:1, 10 שניות/אובונטו/דביאן/ז

כדי לחפש ולהחליף את המופע של מילה מהשורה הנוכחית למספר x הבא של השורות, ישמש את התחביר הבא:

: ש/מונח חיפוש/להחליף_טווח/g x

באופן דומה, לחיפוש והחלפת המופע של מילה מהשורה הנוכחית לשורה האחרונה: ישמש את התחביר הבא:

:.,$ s/מונח חיפוש/להחליף_טווח/ז

סיכום

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