טיפים באינדיזיין: הסקריפט FindChangeByList

רשימת חיפושים והחלפות קבועים בפעולה אחת

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

הבשורה הטובה היא שאפשר ליצור רשימת חיפושים והחלפות ולהריץ אותם בפעם אחת. זה לא משהו חדש אלא נמצא באינדיזיין לפחות מגרסה CS3 (ואולי גם לפני כן. אני לא מכיר את מה שהיה לפני כן). מדובר בסקריפט שמגיע יחד עם התוכנה – FindChangeByList.

בואו ונראה כיצד משתמשים בו.

ראשית ניגש לתיקיית הסקריפטים (Ctrl+Alt+F11 במקלדת, או דרך התפריט Window > Utilities > Scripts).

בחלונית של הסקריפטים נבחר ב-Application ושם ב- Samples ואז JavaScript (אפשר גם ב VBScript למשתמשי PC או ב-AppleScript למשתמשי מקינטוש. כל הסקריפטים שמגיעים עם אינדיזיין מגיעים בשלוש שפות, לנוחות מי שמכיר רק אחת מהם. אני אישית מעדיף תמיד להשתמש ב-JavaScript כי ג'אווה היא שפה 'חוצת פלטפומרות' ואפשר להשתמש באותו סקריפט גם על PC וגם על מק). שם נדפדף עד FindChangeByList.

חלונית הסקריפטים עם הסקריפט FindChangeByList

נשים לב שמתחתיו מופיעה תיקיה בשם FindChangeSupport ובה קובץ טקסט בשם FindChangeList. מכיוuן שהקובץ הזה אינו סקריפט הוא מופיע במעומעם ומסומן באייקון אחר. הקובץ הזה הוא הקובץ שמכיל את רשימת החיפושים וההחלפות שלנו.

כדי לפתוח אותו, נלחץ על הלחצן הימני בעכבר ובתפריט הנפתח נבחר באפשרות הראשונה – Reveal in Explorer. התיקייה בה נמצא הקובץ תיפתח לנו במערכת ההפעלה, ושם נפתח את הקובץ עם עורך טקסט פשוט (פנקס רשימות / TextEdit במק).

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

תחביר השורה בקובץ הטקסט של הסקריפט FindChangeByList

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

(1) סוג החיפוש. זה יכול להיות חיפוש טקסט, חיפוש GREP או חיפוש גליף (הסקריפט לא תומך בחיפוש אובייקט). כלומר האפשרויות כאן הן: grep, text או glyph. אני באופן אישי מעדיף ברוב המקרים להשתמש בחיפוש GREP גם בשביל טקסט רגיל.

(2) מה לחפש. כאן תופיע מחרוזת החיפוש בתוך סוגריים מסולסלים, במבנה הזה:

‪{Findwhat:"מה שרוצים לחפש"}

בתוך הגרשיים רושמים את מה שרוצים לחפש.

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

(3) להחליף ל: כאן תופיע מחרוזת ההחלפה בתוך סוגריים מסולסלים, במבנה הזה:

‪‏‏{ChangeTo:"מה שרוצים להחליף"}

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

(4) הגדרות – כאן תופענה ההגדרות של החיפוש בתוך סוגריים מסולסלים, במבנה הזה:

{includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false}

includFootnotes: האם לכלול חיפוש גם בהערות שוליים.

includMasterPages: האם לכלול חיפוש גם בדפי מאסטר

wholeWord: האם להתייחס למחרוזת החיפוש כמילה שלמה ולהתעלם ממנה כשהיא מופיעה כחלק ממילה אחרת (בחיפוש Text בלבד)

לכל אחד מהפרמטרים הנ”ל יש שתי אפשרויות – True או False.

(5) הסבר – כאן אפשר לכתוב מה שרוצים. הסקריפט מתעלם ממה שנכתב לאחר הטאב הרביעי. המטרה היא שנוכל לרשום ליד כל שורה מה היא עושה כדי שנוכל לאתר ולבטל בקלות מה שאנחנו לא צריכים או גורם לנו בעיות.

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

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

\.

אבל בסקריפט FindChangeByList זה לא יעבוד, אלא צריך לרשום כך:

\\.

לא בדקתי זאת בגרסת ה-VBS, אך אני חושב ששם אין בזה צורך.

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

אהבתם את הטיפ? שתפו עם חברים!
אפשר גם לפרגן לי בכוס קפה...

מה דעתך על הטיפ?

תגובה אחת

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

אל תפספסו טיפים חדשים

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

יש לכם שאלה באינדיזיין?

מוזמנים לקבוצת הוואצאפ!

מוצרים במיוחד בשבילך

טקסט מחזור לסוכות ושמחת תורה מוכן לעימוד

המחיר המקורי היה: ₪ 5,000.המחיר הנוכחי הוא: ₪ 4,000. כולל מע"מ

פונט "פיוט"

 175 495 כולל מע"מ

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

לוח שנה שבועי – קובץ InDesign

המחיר המקורי היה: ₪ 405.המחיר הנוכחי הוא: ₪ 305. כולל מע"מ

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

לוח חודשי בדף אחד

 130 כולל מע"מ

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

אל תפספסו טיפים חדשים

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

מעצבים גרפיים? מעמדים?

קחו את הידע שלכם צעד קדימה

שיעורי העשרה באינדיזיין

ימי שלישי 10:00-12:00