1 שיעור ראשון בשימוש ב־Emacs. זכויות שימוש ראה בסוף המסמך.
3 פקודות רבות של Emacs משתמשות במקש CONTROL (לפעמים הוא מסומן ב־CTRL או CTL)
4 או במקש META (לפעמים מסומן EDIT או ALT). במקום לציין את כל השמות האפשריים
5 בכל פעם, נשתמש בקיצורים הבאים:
7 <תו>-C משמעותו לחץ והחזק מקש CONTROL ואז הקש על מקש <תו>.
8 לדוגמא, C-f משמעותו: לחץ והחזק CONTROL והקש על f.
9 <תו>-M משמעותו לחץ והחזק מקש META או EDIT או ALT ואז הקש על מקש <תו>.
10 אם במקלדת אין אף אחד ממקשי META או EDIT או ALT, אפשר להקיש
11 ולשחרר מקש ESC ואז להקיש <תו>. אנו נכתוב <ESC> עבור מקש ESC.
13 הערה חשובה: כדי לצאת מ־Emacs יש להקיש C-x C-c (שני תוים, משמאל לימין).
14 כדי להפסיק פקודה באמצע ההקשה, יש להקיש C-g.
15 כדי להפסיק שיעור זה, יש להקיש C-x k, ואז <Return> בתשובה לשאלה.
16 המחרוזת ">>" בקצה הימני מסמנת הוראות עבורכם כדי לנסות להשתמש בפקודה כלשהי.
18 <<שורות ריקות תתווספנה סביב השורה הבאה ע״י help-with-tutorial>>
19 [אמצע העמוד הושאר ריק למטרות לימודיות. הטקסט ממשיך להלן]
20 >> הקישו עתה C-v (הצג העמוד הבא) על־מנת לגלול תצוגה לעמוד הבא. (קדימה,
21 נסו זאת ע״י לחיצה והחזקה של מקש CONTROL והקשה על v.)
22 מעתה והלאה, עליכם לעשות זאת בכל פעם שתסיימו לקרוא את המוצג על המסך.
24 שימו לב לחפיפה של שתי שורות כאשר אתם עוברים ממסך למסך, מה שמבטיח רציפות
25 מסוימת בעת קריאת הטקסט.
27 הטקסט שלפניכם הינו עותק של שיעור בשימוש ב־Emacs שהותאם קלות עבורכם.
28 בהמשך תקבלו הוראות לנסות פקודות שונות כדי לבצע שינויים בטקסט הזה. אם
29 במקרה תשנו את הטקסט לפני שנבקש, אל דאגה: זוהי "עריכה" שהיא יעודו של
32 דבר ראשון שעליכם ללמוד הוא כיצד לנוע ממקום אחד למשנהו בתוך הטקסט. אתם
33 כבר יודעים כיצד להתקדם לעמוד הבא, עם C-v. לחזרה לעמוד הקודם הקישו M-v
34 (החזיקו מקש META והקישו v או הקישו <ESC>v אם אין במקלדת מקש META
37 >> נסו עתה כמה פעמים להקיש M-v ואחר־כך C-v.
39 אפשר לגלול טקסט גם באמצעים אחרים, אם אתם יודעים כיצד לעשות זאת.
44 לשם תנועה בעמודים שלמים וצפייה בהם, השתמשו בפקודות הבאות:
48 C-l נקה תצוגה והצג מחדש את הטקסט,
49 כך שהטקסט ליד הסמן יימצא במרכז התצוגה
50 (שימו לב: CONTROL-L ולא CONTROL-1.)
52 >> מצאו את הסמן על־גבי התצוגה וזכרו את הטקסט לידו. לאחר מכן הקישו C-l.
53 מצאו את הסמן שנית ושימו לב שהוא עדיין ליד אותו הטקסט, אבל עכשיו
55 אם תקישו C-l שוב, קטע הטקסט הזה יזוז לקצה העליון של התצוגה. הקישו
56 C-l שוב והוא יזוז לתחתית התצוגה.
58 גם מקשי PageUp ו־PageDn, אם הם קיימים במקלדת שלכם, יכולים לשמש לתנועה
59 בעמודים שלמים, אולם השימוש ב־C-v ו־M-v יעיל יותר.
64 תנועה בעמודים שלמים הינה שימושית, אבל כיצד ניתן להגיע למקום ספציפי
65 בתוך הטקסט שעל־גבי התצוגה?
67 ניתן לעשות זאת בכמה דרכים. אפשר למשל להשתמש במקשי החצים, אולם יהיה
68 זה יעיל יותר אם תחזיקו את הידיים מעל החלק הסטנדרטי של המקלדת ותשתמשו
69 בפקודות C-p, C-b, C-f ו־C-n. פקודות אלו שוות ערך לארבעת מקשי החצים,
75 קדימה, C-f ... מיקום סמן נוכחי ... אחורה, C-b
80 >> השתמשו במקשי C-n ו־C-p על־מנת להגיע לשורה האמצעית של הדיאגרמה.
81 הקישו C-l כדי למרכז את הדיאגרמה על־גבי התצוגה.
83 קל יותר לזכור את המקשים הללו באמצעות המלים שהם מייצגים:
84 P מ־previous (קודם), N מ־Next (הבא), B מ־Backward (אחורה)
85 ו־F מ־Forward (קדימה). מקשי התנועה הבסיסיים הללו ישמשו אתכם כל הזמן.
87 >> הקישו C-n כמה פעמים כדי למקם את הסמן בשורה זו.
89 >> הניעו את הסמן בתוך השורה עם C-f ואחר־כך למעלה עם C-p.
90 שימו לב מה עושה C-p כאשר הסמן נמצא באמצע השורה.
92 כל שורה של טקטס מסתיימת בתו מיוחד הנקרא Newline. תו זה מפריד בין
93 השורה לזו שאחריה. (בדרך כלל, השורה האחרונה בקובץ תסתיים אף היא
94 ב־Newline, אך Emacs אינו זקוק לכך.)
96 >> נסו C-b בתחילת שורה. הוא יגרום לסמן לנוע לסוף השורה הקודמת. זאת,
97 משום שהוא נע אחורה וחולף על־פני תו ה־Newline.
99 גם C-f יכול לחלוף על־פני Newline, בדיוק כמו C-b.
101 >> הקישו C-b עוד כמה פעמים כדי לקבל הרגשה היכן נמצא הסמן.
102 עתה הקישו C-f מספר פעמים הדרוש לשוב לסוף השורה. ואז הקישו
103 C-f עוד פעם אחת כדי לנוע לתחילת השורה הבאה.
105 כשהסמן יוצא מגבולות הטקסט המוצג, חלקי הטקסט מעבר לחלק המוצג נכנסים
106 לתצוגה. לזה קוראים "גלילה". גלילה מאפשרת ל־Emacs להניע את הסמן למקום
107 כלשהו בטקסט מבלי שהסמן ייעלם מהתצוגה.
109 >> נסו להניע את הסמן אל מחוץ לתצוגה ע״י הקשת C-n ושימו לב למה שקורה.
111 אם תנועה תו־תו איטית מדי, תוכלו לנוע מילים שלמות. M-f (META-f) מזיז
112 את הסמן מילה אחת קדימה ואילו M-b זז מילה אחורה.
114 >> הקישו M-f ו־M-b מספר פעמים.
116 אם הסמן נמצא באמצע מילה, M-f זז לסוף המילה. אם הסמן נמצא בין שתי מלים,
117 M-f עובר את המילה הבאה ונעצר בסופה. M-b פועל באופן דומה בכיוון הפוך.
119 >> הקישו עתה M-f ו־M-b פעמים אחדות, וגם C-f ו־C-b פה ושם כדי שתוכלו
120 להתרשם מהתוצאה של M-f ו־M-b במקומות שונים בתוך ובין המלים.
122 שימו לב להקבלה שבין C-f ו־C-b מצד אחד ו־M-f ו־M-b מהצד השני. לעתים
123 קרובות מאד מקשים עם META משמשים לפעולות הקשורות ליחידות של שפה (מלים,
124 משפטים, פסקאות) ואילו מקשים עם CONTROL פועלים על יחידות בסיסיות שאינן
125 תלויות בסוג הטקסט שהינכך עורכים (תוים, שורות, וכד').
127 ההקבלה הזאת קיימת גם לגבי שורות ומשפטים: C-a ו־C-e נעים לתחילת השורה
128 וסופה, בהתאמה, ואילו M-a ו־M-e נעים לתחילת המשפט וסופו.
130 >> נסו עתה שתי הקשות על C-a ואחר־כך שתי הקשות על C-e.
131 נסו שני M-a ואחר־כך שני M-e.
133 שימו לב שחזרה על C-a אינה עושה דבר, ואילו כל הקשה חוזרת על M-a מניעה
134 את הסמן במשפט נוסף. אמנם אין כאן אנלוגיה מושלמת, אבל התוצאה נראית
137 מקום הסמן בתוך הטקסט נקרא "point" ("נקודה"). במלים אחרות, הסמן מראה
138 את מיקומו של "point" בתוך הטקסט.
140 הנה סיכום של פקודות פשוטות להנעת הסמן, כולל פקודות שנעות במלים
143 C-f נוע תו אחד קדימה
144 C-b נוע תו אחד אחורה
150 C-p נוע לשורה הקודמת
152 C-a נוע לתחילת השורה
155 M-a נוע קדימה לסוף המשפט
156 M-e נוע אחורה לתחילת המשפט
158 >> נסו את כל הפקודות הללו מספר פעמים, לשם תרגול.
159 אלו הן הפקודות הנפוצות ביותר.
161 שתי פקודות תנועה חשובות אחרת הן M-< (META פחות), אשר נעה לתחילת
162 הטקסט, ו־M-> (META יותר), אשר נעה לסוף הטקסט.
164 ברוב המקלדות המקש ">" נמצא מעל הפסיק, לכן כדי להקישו יש צורך ללחוץ
165 ולהחזיק מקש Shift. באופן דומה יש ללחוץ על Shift כדי להקיש M-< כי
166 אחרת היה יוצא M-פסיק.
168 >> נסו עתה M-< כדי להגיע לתחילת השיעור.
169 אחר־כך הקישו C-v מספר פעמים, עד שתגיעו לכאן.
171 >> עכשיו נסו M-> כדי להגיע לסוף השיעור.
172 לאחר מכן הקישו M-v כמה פעמים כדי לחזור לכאן.
174 ניתן להזיז את הסמן גם בעזרת מקשי החצים, אם הם קיימים במקלדת שלכם.
175 אבל אנחנו ממליצים ללמוד להשתמש ב־C-b, C-f, C-n ו־C-p משלוש סיבות.
176 קודם כל, הם יעבדו עם כל מקלדת. שנית, כשתתרגלו לעבוד עם Emacs, תראו
177 כי השימוש במקשים אלו מהיר יותר מהשימוש בחצים (מכיון שאין צורך להזיז
178 את היד מהחלק העיקרי של המקלדת). ושלישית, כשהמקשים הללו יהפכו להרגל,
179 יהיה לכם קל יותר ללמוד פקודות מתקדמות יותר של תנועת הסמן.
181 רוב הפקודות של Emacs מקבלות ארגומנט נומרי; עבור רוב הפקודות הארגומנט
182 משמש כמונה של מספר החזרות על הפקודה. כדי לספק ארגומנט לפקודה, יש להקיש
183 C-u ואחר־כך ספרות, וזאת לפני שמקישים את הפקודה עצמה. עם במקלדת קיים
184 מקש META (או EDIT או ALT), יש גם אפשרות אחרת לציין ארגומנט נומרי:
185 הקישו את הספרות תוך כדי החזקת מקש META. אנו ממליצים על C-u משום שהוא
186 יעבוד עם כל מקלדת. הארגומנט הנומרי נקרא גם "ארגומנט קידומת" (prefix
187 argument) משום מקישים אותו לפני הפקודה אליה הוא מתייחס.
189 למשל, C-u 8 C-f מניע את הסמן 8 תוים קדימה.
191 >> נסו להקיש C-n או C-p עם ארגומנט נומרי, כדי להזיז את הסמן אל שורה
192 מסוימת בפקודה אחת בלבד.
194 רוב הפקודות מפרשות את הארגומנט הנומרי כמונה חזרות, אבל פקודות מסוימות
195 משתמשות בו בצורות אחרות. כמה פקודות (אבל אף אחת מבין אלו שלמדנו עד כה)
196 משתמשות בו כדגלון -- נוכחותו של הארגומנט, ללא קשר לערכו המספרי, גורמת
197 לפקודה להתנהג קצת אחרת.
199 C-v ו־M-v יוצאים מהכלל הזה באופן אחר. כשפקודות אלו מקבלות ארגומנט,
200 הן גוללים את התצוגה כמספר הזה של שורות, ולא בדפים. למשל, C-u 8 C-v
201 יגלול את התצוגה ב־8 שורות.
203 >> נסו עתה להקיש C-u 8 C-v.
205 כתוצאה, התצוגה היתה צריכה לזוז ב־8 שורות. אם ברצונכם לגלול בחזרה,
206 אפשר להשיג זאת ע״י מתן ארגומנט ל־M-v.
208 אם הפעלתם את Emacs על־גבי תצוגה גרפית כגון X או MS-Windows, אתם
209 צריכים לראות פס צר וגבוה, ששמו פס גלילה (scroll bar) בצידו של החלון
210 של Emacs. ניתן לגלול את הטקסט ע״י הקלקת עכבר בתוך פס הגלילה.
212 אם העכבר שלכם מצויד בגלגל, תוכלו להשתמש גם בו לגלילת הטקסט.
214 * אם Emacs מפסיק להגיב
215 ----------------------
217 אם Emacs מפסיק להגיב לפקודות, תוכלו להפסיק אותו בבטחה ע״י הקשת C-g.
218 פקודות שביצוען מתארך אף הן ניתנות להפסקה בעזרת C-g.
220 בנוסף, תגרום הקשת C-g לביטול הארגומנט הנומרי או תחילת הפקודה שטרם
221 השלמתם להקיש והתחרטתם.
223 >> הקישו C-u 100 כדי לציין ארגומנט של 100, ולאחר מכן C-g. עתה הקישו
224 C-f. הוא צריך לנוע תו אחד בלבד, שכן ביטלתם את הארגומנט בעזרת C-g.
226 אם הקשתם <ESC> בטעות, ניתן לבטלו בעזרת C-g.
231 מספר פקודות ב־Emacs מנוטרלות בכוונה כדי שמשתמשים מתחילים לא יפעילו
234 אם תקישו את אחת הפקודות הללו, Emacs יציג הודעה המתארת את הפקודה וישאל
235 אם לבצע את הפקודה או לבטלה.
237 אם אכן בכוונתכם לנסות את הפקודה, הקישו <SPC> (מקש הרווח) בתשובה לשאלה.
238 בדרך כלל, אם אינכם מעוניינים לבצע את הפקודה המנוטרלת, הקישו "n" בתשובה
244 תצוגת Emacs יכולה לכלול יותר מחלון אחד, כשכל אחד מהם מציג טקסט משלו.
245 מאוחר יותר נסביר כיצד להשתמש בחלונות מרובים. כעת ברצוננו להסביר כיצד
246 להפטר מחלונות מנותרים ולחזור לעריכה בחלון יחיד. אין דבר פשוט מזה:
248 C-x 1 חלון אחד בלבד (כלומר, סגור את כל החלונות האחרים).
250 כדי להפעיל פקודה זו, הקישו CONTROL-x ולאחריו את הספרה 1. הפקודה C-x 1
251 מרחיבה את החלון המציג את הסמן כך שהוא תופס את כל שטח התצוגה. הפקודה
252 מבטלת את שאר החלונות.
254 >> הניעו את הסמן לתוך שורה זו והקישו C-u 0 C-l.
255 >> עתה הקישו C-h k C-f.
256 שימו לב כיצד החלון הנוכחי מצטמצם ומופיע חלון חדש שבו מוצג
257 התיעוד של הפקודה C-f.
259 >> הקישו C-x 1 ושימו לב שהחלון עם ההסבר על C-f נעלם.
261 פקודה זו שונה מכל שאר הפקודות שלמדנו עד כה בכך שהיא מכילה שני תוים.
262 היא מתחילה עם התו CONTROL-x. פקודות רבות מאד מתחילות ב־CONTROL-x; חלק
263 גדול מהן עוסקות בחלונות, קבצים, חוצצים ונושאים דומים אחרים. פקודות אלו
264 מכילות שנים, שלושה ואפילו ארבעה תוים.
270 אם ברצונכם להכניס טקסט, פשוט הקישו על המקשים המתאימים. תוים רגילים,
271 כגון A, א, 7, * וכד' מיד מתווספים לטקסט הקיים. הקישו <Return> (מקש
272 חזרת גרר שלעתים נהוג לקרוא לו "Enter") כדי להכניס את תו השורה החדשה
275 למחיקת התו האחרון שהקשתם הקישו <DEL>. בדרך כלל זהו מקש שמסומן
276 ב־"Backspace", והוא משמש אתכם למחיקת התו אחרון גם בתוכניות אחרות, לא
279 יתכן שבמקלדת שלכם קיים מקש שעליו רשום <Delete>, אך זה אינו המקש שאנו
282 >> הקישו עתה מספר תוים, ואחר־כך מחקו אותם ע״י הקשות אחדות
283 על <DEL>. אל תחששו לשנות את הקובץ הזה -- העותק המקורי
284 של השיעור יישאר ללא שינוי. אתם עובדים על העותק האישי שלכם.
286 כאשר שורה של טקסט נעשית ארוכה משורה אחת של תצוגה, חלק מהטקסט ממשיך
287 בשורת תצוגה נוספת, היא "שורת ההמשך". על תצוגה גרפית יופיע חץ עקלקל קטן
288 באזור השוליים -- "fringe" שמסמל כי לשורה יש שורת המשך, ואילו על תצוגה
289 טקסטואלית יופיע תו לוכסן ('/' או '\', תלוי אם הוא בצד שמאל או בצד ימין)
290 לאותה תכלית, בסוף השורה.
292 >> הקישו טקסט עד שתגיעו לקצה השורה, ואז תמשיכו להקיש עוד טקסט.
293 כתוצאה, תראו שמופיעה שורת המשך.
295 >> עתה הקישו <DEL> על־מנת למחוק טקסט עד שהשורה תיעשה קצרה מספיק
296 ותתאים לשורה בודדת על־גבי התצוגה. שורת ההמשך תיעלם.
298 ניתן למחוק את תו ה־Newline כמו כל תו אחר. מחיקת ה־Newline בין שתי
299 שורות תמזג את השורות לשורה אחת. אם השורה המשולבת תהיה ארוכה מרוחב
300 התצוגה, היא תוצג עם שורת המשך.
302 >> הניעו את הסמן לתחילת השורה והקישו <DEL>. כתוצאה, השורה תתמזג
305 >> עתה הקישו <Return> כדי להחזיר את ה־Newline שמחקתם.
307 מקש <Return> הוא מיוחד בכך שהקשה עליו עשויה לגרום יותר מהכנסת תו
308 ה־Newline. בתלות בטקסט מסביב יתכן כי Emacs יכניס תווי רווח או TAB אחרי
309 תו ה־Newline, וזאת כדי ליישר את תחילת השורה החדשה עם הטקסט בשורה
310 הקודמת. התנהגות זו, שבה הקשה על מקש גורמת לתוצאות מעבר להכנסה פשוטה של
311 התו המתאים, נקראת "חשמלית" ("electric").
313 זכרו כי לרוב הפקודות ב־Emacs אפשר לציין מספר חזרות. גם תוי טקסט
314 שייכים לקבוצת פקודות זו. חזרה על תו טקסט מכניסה אותו מספר פעמים.
316 >> נסו זאת עכשיו -- הקישו C-u 8 * על־מנת להכניס ********.
318 ובכן, למדתם את האופן הבסיסי ביותר להדפיס משהו ב־Emacs ולתקן שגיאות.
319 אפשר למחוק גם מלים ואף שורות שלמות. להלן סיכום פקודות המחיקה:
321 <DEL> מחק תו שלפני הסמן
322 C-d מחק תו מתחת או אחרי הסמן
324 M-<DEL> גזור מילה שלפני הסמן
325 M-d גזור מילה שאחרי הסמן
327 C-k גזור טקסט מהסמן ועד סוף השורה
328 M-k גזור טקסט עד סוף המשפט הנוכחי.
330 שימו לב שהיחס בין <DEL> ו־C-d לעומת M-<DEL> ו־M-d ממשיכים את ההקבלה
331 שבין C-f ו־M-f (אמנם <DEL> איננו תו בקרה, אבל בוא נזניח את הנקודה הזו
332 לעת־עתה). C-k ו־M-k דומים ל־C-e ו־M-e, אם נקביל שורות למשפטים.
334 בנוסף, קיימת שיטה אחידה שמאפשרת לגזור קטע כלשהו של טקסט. לשם כך, תגיעו
335 לקצה האחד של חלק הטקסט והקישו C-<SPC>. (<SPC> הוא מקש הרווח.) עתה
336 הניעו את הסמן לקצה השני של חלק הטקסט אשר ברצונכם לגזור. תוך כדי תנועת
337 הסמן Emacs צובע את הטקסט בין הסמן לבין המקום בו הקשתם C-<SPC>. לבסוף,
338 הקישו C-w. כתוצאה, כל הטקסט בין שני המקומות הללו ייגזר.
340 >> הניעו את הסמן אל האות ב בתחילת הפיסקה הקודמת.
341 >> הקישו C-<SPC>. Emacs צריך להציג הודעה האומרת "Mark set" בתחתית
343 >> הניעו את הסמן אל האות צ בשורה השניה של הפיסקה.
344 >> הקישו C-w. בכך תגזרו את חלק הטקסט שמתחיל ב־ב ומסתיים לפני ה־צ.
346 ההבדל בין "מחיקה" ("deletion") ו־"גזירה" ("killing") הוא שהטקסט
347 "הגזור" ניתן לאחזור ולהכנסה (במקום כלשהוא בטקסט), ואילו טקסט "מחוק" לא
348 ניתן להכניס מחדש בשיטה זו. (אבל ניתן לבטל את מחיקה -- ראה להלן.) אחזור
349 הטקסט הגזור נקרא "הדבקה" ("yanking"). באופן כללי, פקודות אשר עלולות
350 להעלים כמויות גדולות של טקסט תמיד גוזרות את הטקסט (כך שניתן יהיה בקלות
351 לשחזרו) בעוד הפקודות שמורידות תו בודד או שורות ריקות ותוי רווח --
352 מוחקות (כך שלא ניתן להדביק את הטקסט שנמחק). כך, <DEL> ו־C-d מוחקים
353 כאשר מפעילים אותם ללא ארגומנט, אבל גוזרים כאשר מפעילים אותם עם ארגומנט.
355 >> הניעו את הסמן לתחילת שורה שאינה ריקה. אחר־כך הקישו C-k כדי לגזור
356 את כל הטקסט של אותה שורה.
357 >> הקישו C-k פעם נוספת. שימו לב שהוא גוזר את ה־Newline שבסוף השורה.
359 שימו לב ש־C-k בודד גוזר את תכולת השורה, ו־C-k נוסף גוזר גם את השורה
360 עצמה וגורם לשאר השורות לנוע כלפי מעלה. C-k מפרש את הארגומנט הנומרי
361 באופן מיוחד: הוא גוזר כמספר הזה שורות, כולל ה־Newlines שלהן. זה שונה
362 מסתם הפעלה חוזרת: C-u 2 C-k גוזר שתי שורות כולל ה־Newlines שלהן,
363 ואילו הקשה על C-k פעמיים לא עושה כן.
365 אחזור הטקסט שגזרנו נקרא "הדבקה" ("yanking"). (תחשבו על זה כעל שליפה
366 של טקסט מתהום הנשייה אליה הוא נלקח.) ניתן להדביק את הטקסט שגזרתם
367 באותו מקום ממנו נגזר או במקום אחר כלשהו בתוך הטקסט שאתם עורכים, או
368 אפילו בקובץ אחר. ניתן להדביק את אותו הטקסט מספר פעמים ובכך ליצור
369 עותקים מרובים ממנו. תוכניות עריכה אחרות משתמשות במונחים "cutting"
370 ו־"pasting" במקום "killing" ו־"yanking" (ראה את מילון המונחים בפרק
371 ה־"Glossary" של מדריך למשתמשי Emacs).
373 הפקודה להדבקה היא C-y. היא מכניסה את הטקסט הגזור במקום הנוכחי של הסמן.
375 >> נסו זאת: הקישו C-y כדי לאחזר טקסט שגזרתם קודם לכן.
377 אם תקישו C-k מספר פעמים ברצף, כל הטקסט שגזרתם בדרך זו נשמר ביחד, כך
378 ש־C-y בודד ידביק את כולו בבת אחת.
380 >> עשו זאת עתה: הקישו C-k כמה פעמים.
382 עכשיו לאחזור הטקסט שגזרתם:
384 >> הקישו C-y. אחר־כך הניעו את הסמן כמה שורות כלפי מטה והקישו C-y שוב.
385 כפי שראיתם, כך תוכלו להעתיק חלק מהטקסט ממקום למקום.
387 מה לעשות אם יש לכם טקסט להדבקה, אבל בינתיים גזרתם טקסט אחר? C-y ידביק
388 רק את הגזירה האחרונה. אולם הטקסט שגזרתם קודם לכן אינו הלך לאיבוד. ניתן
389 לאחזרו בעזרת הפקודה M-y. אחרי שהקשתם C-y שמדביק את הטקסט שגזרתם
390 לאחרונה, הקשה על M-y מחליפה את הטקסט המודבק בטקסט שגזרתם בפעם לפני
391 האחרונה. הקשה חוזרת ונשנית על M-y מביאה טקסט שגזרתם בפעמים קודמות יותר
392 ויותר. כשתראו שהטקסט המודבק הוא מה שרציתם להדביק, תפסיקו להקיש M-y
393 ותמשיכו בעריכה כרגיל. אין צורך בשום פקודה מיוחדת לשם כך.
395 אם תקישו M-y מספיק פעמים בזו אחר זו, תגיעו חזרה לנקודת ההתחלה (טקסט
398 >> גזרו שורה, אחר־כך תניעו את הסמן אנה ואנה, ולבסוף גזרו שורה נוספת.
399 הקישו C-y כדי לאחזר את השורה השניה שגזרתם.
400 עתה הקישו M-y והשורה שאחזרתם תוחלף בשורה הראשונה שגזרתם.
401 הקישו M-y מספר פעמים נוספות ושימו לב לתוצאות. המשיכו להקיש M-y
402 עד שהשורה השניה שגזרתם תופיע שוב, ואז תמשיכו עוד מספר פעמים.
403 אם תרצו, תוכלו לנסות M-y עם ארגומנט חיובי או שלילי.
409 אם שיניתם את הטקסט ואז החלטתם שהשינוי היה טעות, תוכלו לבטל את השינוי
410 בעזרת פקודת הביטול, C-/.
412 בדרך כלל,C-/ מבטל את השינויים שבוצעו ע״י פקודה אחת. הפעלה חוזרת של
413 C-/ ברצף מבטלת שינויים של פקודות קודמות, אחת אחרי השניה.
415 שני יוצאים מהכלל הזה: פקודות שאינן משנות טקסט (למשל פקודות הנעת הסמן
416 ופקודות גלילה) אינן נספרות ותוים שמכניסים את עצמם מקובצים בקבוצות של
417 עד 20, כדי להקטין את מספר הפעמים שיש להקיש C-/ כדי לבטל הכנסת טקסט.
419 >> גזרו שורה זו עם C-k, אחר־כך הקישו C-/ והיא תופיע שוב.
421 C-_ הינה דרך חלופית להפעיל את פקודת הביטול. היא פועלת בדיוק כמו C-/.
422 במקלדות אחדות הקשה על C-/ שולחת ל־Emacs את התו C-_. חלופה נוספת היא
423 C-x u, אם־כי היא פחות נוחה להקשה מספר פעמים בזו אחר זו.
425 ארגומנט נומרי ל־C-/ או ל־C-_ או ל־C-x u משמש כמספר החזרות על הפקודה.
427 ניתן לבטל מחיקה של טקסט בדיוק כמו שניתן לבטל גזירה. ההבדלים בין מחיקה
428 וגזירה משפיעים על יכולתכם להדביק את הטקסט הגזור עם C-y; הם אינם חשובים
435 על־מנת שהטקסט שערכתם יישמר, יש לשים אותו בקובץ. אחרת, הוא ייעלם ברגע
436 שתצאו מ־Emacs. כדי לשים את הטקס בקובץ, יש "לפתוח" ("find") את הקובץ
437 לפני שמתחילים להקיש טקסט. (שם אחר לכך הוא "לפקוד" את הקובץ - "visit".)
439 פתיחת הקובץ משמעותה שתוכן הקובץ מוצג בתוך Emacs. מבחינות רבות הדבר
440 דומה לעריכת הקובץ עצמו. אולם, השוניים שלכם בתוך Emacs אינם הופכים חלק
441 מהקובץ עד שאתם "שומרים" את הקובץ. זאת, כדי להימנע מיצירת קובץ שאינו
442 שלם במערכת שלא כרצונכם. אפילו אם אתם שומרים את הקובץ, Emacs משאיר את
443 התוכן המקורי בשם שונה למקרה שמאוחר יותר תחליטו שהשינויים נעשו בטעות.
445 אם תביטו בחלק התחתון של התצוגה, תראו שם שורה בולטת שמתחילה במקפים וליד
446 הקצה השמאלי שלה כתוב "TUTORIAL.he". חלק זה של התצוגה בדרך כלל מציג את
447 שם הקובץ אותו אתם פוקדים. כרגע אתם פוקדים קובץ בשם "TUTORIAL.he" שהוא
448 עותק הטיוטה האישי שלכם של שיעור השימוש ב־Emacs. פתיחת קובץ כלשהו
449 ב־Emacs תציג את שמו של הקובץ במקום זה.
451 היבט אחד מיוחד של פתיחת קובץ הוא שיש לציין את שם הקובץ אשר ברצונכם
452 לפתוח. אנו אומרים שהפקודה "קוראת ארגומנט" (במקרה זה הארגומנט הוא שם
453 הקובץ). אחרי שתקישו את הפקודה
457 Emacs מבקש שתקישו את שם הקובץ. שם הקובץ שתקישו מופיע בשורה התחתונה של
458 התצוגה. שורה זו נקראת "מיני־חוצץ" ("minibuffer") כשהיא משמשת לסוג זה
459 של קלט. ניתן להשתמש בכל פקודות העריכה הרגילות של Emacs כשמקישים את
462 אם טרם סיימתם להקיש את שם הקובץ (או כל סוג אחר של קלט במיני־חוצץ),
463 ניתן לבטל את הפקודה בעזרת C-g.
465 >> הקישו C-x C-f ואחר־כך הקישו C-g. זה מבטל את המיני־חוצץ וגם מבטל
466 את הפקודה C-x C-f שהשתמשה במיני־חוצץ. התוצאה היא שאף קובץ לא נפתח.
468 משסיימתם להקיש את שם הקובץ, הקישו <Return> לסיים את הקלט. או־אז
469 המיני־חוצץ נעלם והפקודה C-x C-f תיגש לעבודה ותמצא ותפתח את הקובץ
470 שבחרתם. כאשר פקודת ה־C-x C-f תסיים את עבודתה, תוכן הקובץ יופיע על־גבי
471 התצוגה ותוכלו לבצע בו שינויים. כשתחליטו לשמור את השינויים, הקישו את
474 C-x C-s שמור את הקובץ
476 פקודה זו שומרת בקובץ את הטקסט המוחזק בתוך Emacs. בפעם הראשונה שתפעילו
477 פקודה זו, Emacs משנה את שם הקובץ המקורי לשם חדש כך שהמקור לא ילך
478 לאיבוד. השם החדש נוצר ע״י הוספת "~" בסוף השם המקורי של הקובץ.
480 כשהשמירה מסתיימת, Emacs מציג בשורה התחתונה את שם הקובץ שנשמר. נסו
481 לשמור לעתים מזומנות על־מנת להימנע מלאבד יותר מדי מהעבודה שלכם אם המחשב
482 ייפול (ראה להלן פיסקה על שמירה אוטומטית).
484 >> הקישו C-x C-s TUTORIAL.he ותסיימו בהקשת <Return>. כתוצאה, שיעור זה
485 יישמר בקובץ בשם TUTORIAL.he ובתחתית התצוגה תופיע ההודעה
486 "Wrote ...TUTORIAL.he".
488 ניתן לפתוח קובץ קיים על־מנת לצפות בו או לערוך אותו. ניתן גם לפתוח קובץ
489 שאינו קיים. זו הדרך ליצור קבצים חדשים בעזרת Emacs: פתחו את הקובץ
490 שיהיה תחילה ריק ואז התחילו להקיש טקסט לתוכו. כשתפעילו את פקודת השמירה,
491 Emacs ייצור את הקובץ עם הטקסט שהקשתם. מאותו רגע ואילך, תוכלו לחשוב
492 שהינכם עורכים קובץ קיים.
498 אם תפתחו קובץ נוסף עם C-x C-f, הקובץ הראשון עדיין נשאר פתוח ב־Emacs.
499 תוכלו לחזור אליו ע״י C-x C-f. כך תוכלו לפתוח מספר רב של קבצים.
501 Emacs מחזיק כל קובץ בתוך יישות בשם "חוצץ" ("buffer"). פתיחת קובץ יוצרת
502 חוצץ חדש בתוך Emacs. כדי לראות את רשימת החוצצים הקיימים בתוך Emacs,
505 C-x C-b הצג רשימת כל החוצצים
507 >> נסו את C-x C-b בנקודה זו.
509 שימו לב שלכל חוצץ יש שם וכל חוצץ עשוי גם לציין את שם הקובץ שאת תוכנו
510 הוא מחזיק. כל טקסט שאתם מקישים בחלון Emacs תמיד יהיה חלק של חוצץ
513 >> הקישו C-x 1 כדי להפטר מרשימת החוצצים.
515 כשקיימים מספר חוצצים, רק אחד מהם יכול להיות החוצץ "הנוכחי" בכל רגע
516 נתון. זהו החוצץ בו אתם מבצעים עריכה באותו רגע. אם ברצונכם לערוך חוצץ
517 אחר, עליכם "לעבור" חוצץ. עבור חוצצים שמתאימים לקבצים, ניתן לעשות זאת
518 ע״י C-x C-f שיפקוד את הקובץ בשנית. אבל קיימת דרך פשוטה יותר: שימוש
519 בפקודה C-x b. פקודה זו תחייב אותכם להקיש את שם החוצץ.
521 >> ניצור עתה קובץ בשם "foo" ע״י הקשת C-x C-f foo <Return>.
522 עתה חזרו לשיעור זה בעזרת C-x b TUTORIAL.he <Return>.
524 ברוב המקרים שם החוצץ זהה לשם הקובץ (ללא שם התיקיה שלו). אבל אין זה
525 תמיד כך. רשימת החוצצים שנוצרת ע״י C-x C-b תציג הן את שם החוצץ והן את
526 שם הקובץ עבור כל החוצצים הקיימים ב־Emacs.
528 כל טקסט שמוצג בחלון של Emacs הינו תמיד חלק של חוצץ כלשהו. קיימים
529 חוצצים שאינם קשורים לשום קובץ. לדוגמא, החוצץ בשם "*Buffer List*"
530 המחזיק את רשימת החוצצים שנוצרה ע״י C-x C-b אינו מציג שום קובץ. גם
531 לחוצץ הנוכחי ששמו TUTORIAL.he לא היה קובץ עד שהקשתם על C-x C-s כדי
534 חוצץ בשם "*Messages*" אף הוא אינו קשור לשום קובץ; הוא מחזיק את ההודעות
535 שהופיעו בשורה התחתונה במהלך עבודתכם בתוך Emacs.
537 >> הקישו C-x b *Messages* <Return> כדי לצפות בחוצץ של הודעות.
538 אחר־כך הקישו C-x b TUTORIAL.he <Return> על־מנת לחזור לשיעור זה.
540 אם עשיתם שינויים בטקסט של קובץ ואחר־כך פתחתם קובץ אחר, אין הדבר שומר
541 את השינויים שעשיתם לקובץ הראשון. השינויים הללו נשארים בתוך Emacs, בתוך
542 החוצץ של אותו קובץ. יצירתו ועריכתו של הקובץ הנוסף אינם משפיעים על
543 החוצץ של הקובץ הראשון. דבר זה הוא שימושי, אך משמעותו היא שיש צורך
544 בשיטה נוחה לשמור את החוצץ של הקובץ הראשון. היה זה מאד לא נוח אילו
545 לשם כך הייתם צריכים לעבור לחוצץ ההוא בעזרת C-x C-f ואז לשמור עם
546 C-x C-s. לכן קיימת פקודה
548 C-x s שמור חוצצים אחדים
550 C-x s עובר על כל החוצצים אשר מכילים שינויים שטרם נשמרו. לגבי כל חוצץ
551 כזה הוא שואל אתכם האם לשמור אותו או לא.
553 >> הכניסו שורה של טקסט ואחר־כך הקישו C-x s.
554 הוא צריך לשאול האם לשמור חוצץ בשם TUTORIAL.he.
555 השיבו בחיוב ע״י הקשה על "y".
561 מספר הפקודות ב־Emacs גדול בהרבה ממה שניתן להפעיל ע״י כל תוי ה־control
562 וה־meta. כדי להתגבר על בעיה זו, Emacs משתמש בפקודות X המרחיבות (eXtend)
563 את אוסף הפקודות הרגיל. פקודות הרחבה אלו הן שתים:
565 C-x הרחבת תו. תו בודד שבא אחריו משלים את הפקודה.
566 M-x הרחבה ע״י שם הפקודה. אחריו בא שם ארוך של פקודה.
568 בעזרת שתי אלו ניתן להפעיל פקודות שימושיות שבהן משתמשים לעתים רחוקות
569 יותר מאשר פקודות שלמדתם עד עכשיו. כמה מהן כבר ראיתם: C-x C-f לפתיחת
570 קובץ, ו־C-x C-s לשמירת קובץ, לדוגמא. דוגמא נוספת היא פקודה לצאת
571 מ־Emacs -- C-x C-c. (כשאתם מפעילים C-x C-c, אל תדאגו לשינויים שטרם
572 נשמרו; C-x C-c מציע לשמור כל קובץ ששיניתם לפני שהוא מסיים את Emacs.)
574 אם אתם משתמשים בצג גרפי, אינכם זקוקים לפקודה מיוחדת כדי לעבור מ־Emacs
575 לתוכנית אחרת. אפשר לעשות זאת בעזרת העכבר או פקודות של מנהל החלונות.
576 אולם, כאשר אתם משתמשים בתצוגה טקסטואלית שמסוגלת להציג רק תוכנית אחת
577 בו־זמנית, תצטרכו "להשעות" ("suspend") את Emacs על־מנת לעבור לתוכנית
580 הפקודה C-z יוצאת מ־Emacs *באופן זמני* -- כך שתוכלו לשוב אליו מאוחר
581 יותר ולהמשיך מאותה נקודה. כאשר Emacs רץ על תצוגת טקסט, C-z "משעה" את
582 Emacs: הוא מחזיר אתכם לשורת הפקודות הבסיסית של מערכת ההפעלה ("shell"),
583 אבל אינו מסיים את Emacs. ברוב המערכות, כדי להמשיך בעבודתכם ב־Emacs,
584 תצטרכו להקיש את הפקודה "fg" או "%emacs".
586 הרגע הנכון להשתמש ב־C-x C-c הוא כאשר אתם עומדים להתנתק (log out).
587 כמו־כן, תצטרכו להשתמש בו כדי לצאת מ־Emacs שהופעל ע״י תוכניות אחרות
588 כגון קריאת דואר אלקטרוני.
590 קיימות פקודות C-x רבות מאד. להלן רשימת אלו שכבר למדתם:
594 C-x s שמור חוצצים אחדים
595 C-x C-b הצג רשימת חוצצים
598 C-x 1 השאר רק חלון אחד ומחק כל השאר
599 C-x u בטל פקודה אחרונה
601 הרחבה ע״י שם הפקודה שימושית עם פקודות עוד יותר נדירות או פקודות
602 ספציפיות רק לאופני פעולה (modes) מיוחדים. דוגמא לכך היא פקודה
603 replace-string (החלף מחרוזת) אשר מחליפה מחרוזת אחת במשנה בכל החוצץ.
604 אחרי שתקישו M-x, Emacs מציג M-x בתחתית התצוגה ומחכה שתקישו את שם
605 הפקודה, במקרה זה "replace-string". מספיק שתקישו "repl s<TAB>" ו־Emacs
606 ישלים את השם המלא. (<TAB> הוא מקש Tab, בדרך כלל תמצאו אותו מעל מקש
607 ה־CapsLock או Shift, ליד הקצה השמאלי של המקלדת.) סיימו את הזנת הפקודה
610 הפקודה להחלפת מחרוזת זקוקה לשני ארגומנטים -- המחרוזת שתוחלף וזו שתחליף
611 אותה. סיימו הקשה של כל אחת מהן ע״י <Return>.
613 >> הביאו את הסמן שתי שורות מתחת לשורה זו.
614 עתה הקישו M-x repl s<Return>changed<Return>altered<Return>.
616 שימו לב שהמילה "changed" בשורה זו שתנתה: זה עתה החלפתם את
617 המילה c-h-a-n-g-e-d במילה "altered" בכל מקום בו היא נמצאת אחרי
624 שינויים שערכתם בקובץ אבל טרם שמרתם עלולים ללכת לאיבוד אם המחשב שלכם
625 נתקע. על־מנת להגן עליכם מפני סכנה זו, Emacs שומר לעתים מזומנות כל קובץ
626 שנמצא בעריכה. השמירה האוטומטית הזאת נעשית לקובץ נפרד ששמו מתחיל
627 ומסתיים בתו #. לדוגמא, אם הינכם עורכים קובץ בשם "hello.c", קובץ השמירה
628 האוטומטית שיווצר עבורו ייקרא "#hello.c#". שמירה רגילה של הקובץ על ידכם
629 מוחקת את קובץ השמירה האוטומטית.
631 אם המחשב אכן נתקע, תוכלו לנציל את השינויים שלא הספקתם לשמור. לשם כך,
632 יש לפתוח את הקובץ כרגיל (את הקובץ בשמו המקורי, לא את קובץ השמירה
633 האוטומטית), ואחר־כך להקיש M-x recover-this-file <Return>. כש־Emacs
634 יבקש אישור, הקישו yes<Return> כדי ש־Emacs ישחזר את הקובץ כפי שנשמר
641 אם Emacs מגלה שאתם מקישים פקודה לאט, הוא מציג את שהקשתם בתחתית התצוגה,
642 באזור שנקרא "אזור תצוגת הד". אזור זה משתמש בשורה התחתונה של התצוגה.
648 השורה שמעל אזור תצוגת הד נקראת "שורת הסטטוס" (mode line). שורה זו
651 U:**- TUTORIAL.he 63% L651 (Fundamental)
653 שורה זו מציגה מידע חשוב לגבי מצבו של Emacs ולגבי הטקסט שנמצא בעריכה.
655 אתם כבר יודעים מהי משמעותו של שם הקובץ -- זהו הקובץ שפתחתם. NN% מציין
656 את מיקומכם הנוכחי בתוך הטקסט, לאמור כי NN אחוזים מתכולת החוצץ קודמים
657 לטקסט המוצג כרגע בחלון. אם המוצג בחלון כולל את תחילת הטקסט, תראו שם
658 "Top" במקום "0% ". אם המוצג בחלון כולל את סוף הטקסט, תראו שם "Bot"
659 (bottom). אם הטקסט כל־כך קצר שכולו מוצג בחלון, שורת הסטטוס תציג "All".
661 האות L והמספר שאחריה מציינים את המיקום הנוכחי בדרך אחרת: הם מראים את
662 מספר השורה שבה נמצא הסמן.
664 הכוכביות ליד הקצה השמאלי משמעותן כי שיניתם את הטקסט. מיד אחרי פתיחת
665 הקובץ או אחרי שמירתו החלק הזה של שורת הסטטוס אינו מציג כוכביות, אלא רק
668 החלק שבתוך הסוגריים אומר לכם מהo אופני העריכה (editing modes) הפעילים
669 כעת. ברירת המחדל היא Fundamental, האופן הבסיס, שבו אתם משתמשים כעת.
670 זוהי דוגמא של "אופן עריכה ראשי" (major mode).
672 ל־Emacs אופני עריכה ראשיים רבים ומגוונים. חלק מהם נועדו לעריכה של שפת
673 תכנות מסוימת ו/או סוג מסוים של טקסט, כגון Lisp mode, Text mode וכד'.
674 בכל רגע נתון רק אופן עיקרי אחד יכול להיות פעיל ושמו תמיד מצויין בשורת
675 הסטטוס באותו מקום בו כרגע אתם רואים "Fundamental".
677 כל אופן עיקרי גורם לכמה פקודות לפעול בצורה מיוחדת. למשל, ישנן פקודות
678 ליצירת הערות בתוך תוכנית, והיות וכל שפת תכנות מגדירה את הפורמט של
679 הערות בצורה אחרת, כל אופן עיקרי חייב להכניס הערות בצורה שמתאימה לשפה.
680 כל אופן עיקרי הינו למעשה שם הפקודה שבעזרתה אפשר להפעיל את אותו האופן.
681 למשל הפקודה להפעיל את האופן Fundamental הינה M-x fundamental-mode.
683 אם בכוונתכם לערוך טקסט בשפה אנושית כלשהי, כמו הקובץ הזה, כדאי לכם
686 >> הקישו M-x text-mode <Return>.
688 אל דאגה: אף אחת מפקודות Emacs שלמדתם עד כה משנה את התנהגותה באופן
689 מהותי. עם זאת, שימו לב ש־M-f ו־M-b מתייחסים עכשיו ל־'גרש' כחלק מהמילה.
690 לפני־כן, ב־Fundamental mode, M-f ו־M-b התנהגו עם הגרש כמפריד בין
693 אופנים ראשיים בדרך־כלל משנים קלות את התנהגות הפקודות: רוב הפקודות
694 עדיין "עושות אותה עבודה" בכל האופנים הראשיים, אבל עושות אותה קצת אחרת.
696 לצפיה בתיעוד של האופן הראשי הנוכחי יש להקיש C-h m.
698 >> הקישו C-l C-l כדי להביא שורה זו לראשית התצוגה.
699 >> עתה הקישו C-h m כדי לראות במה Text mode שונה מה־Fundamental mode.
700 >> לבסוף, הקישו C-x 1 כדי לסלק את התיעוד מהתצוגה.
702 אופנים ראשיים נקראים כך משום שקיימים גם אופני־משנה (minor modes).
703 אופני משנה אינם מהווים חלופה לאופנים הראשיים, הם רק משנים אותם במקצת.
704 כל אופן־משנה ניתן להפעלה או ביטול ללא תלות בכל שאר אופני המשנה וללא
705 תלות באופן הראשי הנוכחי. לכן תוכלו להפעיל אופן־משנה אחד או יותר, או אף
708 אחד מאופני־המשנה השימושיים ביותר, במיוחד לשם עריכת טקס בשפת־אנוש, הוא
709 Auto Fill mode. כאשר אופן זה מופעל, Emacs אוטומטית פותח שורה חדשה
710 בסיום מילה אם הטקסט שהקשתם ארוך מדי בשביל שורה אחת.
712 להפעלת Auto Fill mode יש להקיש M-x auto-fill-mode <Return>. כאשר אופן
713 זה מופעל, ניתן לבטלו ע״י M-x auto-fill-mode <Return>. זאת אומרת, פקודה
714 זו מפעילה את האופן כשאינו פעיל ומבטלת אותו כשהוא פעיל. לפעולה זו
715 קוראים "מיתוג" -- הפקודה "ממתגת" את האופן.
717 >> הקישו עתה M-x auto-fill-mode <Return>. אחר־כך הקישו "שדגכ " (עם
718 הרווח בסוף) שוב ושוב עד שתיפתח שורה חדשה. הרווחים חשובים משום
719 ש־Auto Fill mode שובר שורות אך ורק ברווח שבין המלים.
721 השוליים (margin) ש־Emacs שומר בדרך־כלל מתחילים אחרי 70 תווים, אבל ניתן
722 לשנות הגדרה זו בעזרת הפקודה C-x f. פקודה זו מקבלת את ההגדרה החדשה של
723 השוליים כארגומנט נומרי.
725 >> הקישו C-x f עם ארגומנט של 20. (C-u 2 0 C-x f). אחר־כך הקישו טקסט
726 כלשהו ושימו לב ש־Emacs פותח שורות חדשות אחרי 20 תווים לכל היותר.
727 לבסוף, החזירו את הגדרת השוליים ל־70 ע״י שימוש חוזר ב־C-x f.
729 אם ערכתם שינויים באמצע פסקה, Auto Fill mode לא ימלא שורות מחדש באופן
731 כדי למלא מחדש את כל הפסקה הקישו M-q (META-q) כשהסמן נמצא בתוך
734 >> הניעו את הסמן לתוך הפסקה הקודמת והקישו M-q.
740 Emacs יכול לחפש מחרוזות (רצף של תווים) קדימה או אחורה בתוך הטקסט.
741 חיפוש של מחרוזת הוא סוג של פקודה להנעת הסמן: הוא ממקם את הסמן היכן
744 החיפוש של Emacs הינו "מצטבר" ("incremental"). פירוש הדבר הוא שהחיפוש
745 מתבצע במקביל להקשתכם את המחרוזת אותה ברצונכם למצוא.
747 הפקודה להתחיל בחיפוש היא C-s לחיפוש קדימה ו־C-r לחיפוש אחורה. חכו! אל
750 כשתקישו C-s, תראו שבאזור תצוגת ההד יופיע הטקסט "I-search". זה אומר
751 ש־Emacs נמצא במצב "חיפוש מצטבר" ("incremental search") והוא ממתין
752 להקשתכם את המחרוזת אותה ברצונכם למצוא. הקשה על <Return> מסיימת את
755 >> הקישו עתה C-s כדי להתחיל בחיפוש. לאט־לאט, אות־אות, הקישו את המילה
756 "סמן", עם הפסקה אחרי כל אות, ושימו לב להתנהגות הסמן.
757 זה עתה מצאתם את המילה "סמן" פעם אחת.
758 >> הקישו C-s שוב, כדי למצוא את "סמן" במקומות נוספים בטקסט.
759 >> הקישו <DEL> שלוש פעמים ושימו לב לתנועת הסמן בכל הקשה.
760 >> הקישו <Return> לסיום החיפוש.
762 האם שמתם לב למה שקרה? במהלך "חיפוש מצטבר" Emacs מנסה למצוא את המקום
763 הבא בו מופיעה המחרוזת שהקשתם. כדי למצוא את המחרוזת במקום הבא, פשוט
764 הקישו C-s פעם נוספת. אם המחרוזת אינה נמצאת בהמשך הטקסט, Emacs מצפצף
765 ומודיע שהחיפוש נכנס למצב של "כשלון" ("failing"). הקשה על C-g גם היא
768 אם במהלך החיפוש תקישו על <DEL>, החיפוש "נסוג" למצב קודם. אם הקשתם
769 <DEL> מיד אחרי C-s, הקשת <DEL> מחזירה את הסמן למקום הקודם בו נמצאה
770 המחרוזת. אם אין מקומות קודמים בהם מופיעה המחרוזת, הקשת <DEL> מוחקת את
771 התו האחרון של המחרוזת המבוקשת. למשל, נניח שהקשתם "ס" על־מנת למצוא את
772 המקום הבא בו מופיעה האות "ס". אם עכשיו תקישו "מ", הסמן יזוז למקום בו
773 נמצא "סמ". עתה הקישו <DEL>. ה־"מ" נמחק מהמחרוזת והסמן חוזר למקום בו
774 הוא מצא את "ס" לראשונה.
776 אם במהלך החיפוש תפעילו פקודה כלשהי ע״י הקשה על מקש תוך לחיצה על
777 CONTROL או META, החיפוש יסתיים. (כמה תווים יוצאים מכלל זה -- אלו תווים
778 מיוחדים בעת חיפוש, כדוגמת C-s ו־C-r.)
780 הקשה על C-s מתחילה חיפוש שמנסה למצוא את המחרוזת _אחרי_ הסמן. אם
781 ברצונכם למצוא משהו בטקסט הקודם למקום הנוכחי, הקישו C-r במקום C-s. כל
782 מה שאמרנו לגבי C-s תקף גם לגבי C-r, אלא שכיוון החיפוש מתהפך.
788 אחת התכונות הנוחות של Emacs היא כי ניתן להציג יותר מחלון אחד על המסך
789 בו־זמנית. (הערה: Emacs משתמש במונח "frame" -- "תבנית" -- בשביל מה
790 שתוכניות אחרות מכנות "חלון". תבניות מתוארות בפסקה הבאה. תוכלו למצוא את
791 רשימת המונחים של Emacs בפרק "Glossary" של מדריך משתמש.)
793 >> הביאו סמן לשורה זו והקישו C-l C-l (CONTROL-L ולא CONTROL-1).
795 >> עתה הקישו C-x 2 וכתוצאה מכך החלון יתחלק לשניים. כל אחד משני החלונות
796 מציג את השיעור הזה. הסמן נשאר בחלון העליון.
798 >> הקישו C-M-v כדי לגלול את החלון התחתון.
799 (אם במקלדת שלכם אין מקש META אמיתי, הקישו <ESC> C-v כתחליף.)
801 >> הקישו C-x o ("o" הוא רמז ל־"other", "אחר") על־מנת להעביר את הסמן
803 >> הקישו C-v ו־M-v בחלון התחתון כדי לגלול אותו.
804 המשיכו לקרוא הוראות אלו בחלון העליון.
806 >> הקישו C-x o שוב לחזור לחלון העליון.
807 הסמן בחלון העליון יישאר במקום בו הוא היה לפני־כן.
809 תוכלו להמשיך להשתמש ב־C-x o כדי לדלג בין החלונות. "החלון הנבחר", אותו
810 חלון בו הנכם עורכים טקסט, מזוהה ע״י סמן בולט שמהבהב בזמן שאינכם
811 מקלידים. לכל החלונות האחרים מיקום סמן משלהם; אם הפעלתם את Emacs על צג
812 גרפי, מיקום הסמן בחלונות האחרים מוצג כתיבה ריקה שאינה מהבהבת.
814 הפקודה C-M-v נוחה מאד כאשר הינכם עורכים טקסט בחלון אחד ומשתמשים בחלון
815 אחר לייחוס. תוכלו להתקדם בחלון השני בעזרת C-M-v מבלי לעזוב את החלון
818 C-M-v היא דוגמא אחת של פקודת CONTROL-META. אם במקלדת שלכם קיים מקש
819 META (או Alt) אמיתי, תוכלו להקיש את הפקודה ע״י לחיצה והחזקה של מקשי
820 CONTROL ו־META גם יחד ואז להקיש v. הסדר שבו תלחצו על CONTROL ו־META
821 אינו משנה כי שני המקשים הללו פועלים ע״י שינוי התו המוקש יחד איתם.
823 אם אין במקלדת מקש META אמיתי ואתם משתמשים ב־<ESC> כתחליף, הסדר כן
824 משנה: חייבים להקיש <ESC> ורק לאחר מכן CONTROL-v, וזאת משום
825 ש־CONTROL-<ESC> v לא יעבוד. <ESC> הוא תו בזכות עצמו, שלא כמו CONTROL
828 >> הקישו C-x 1 (בחלון העליון) כדי לסלק את החלון התחתון.
830 (אילו הקשתם C-x 1 בחלון התחתון, הייתם מסלקים את החלון העליון. תוכלו
831 לחשוב על פקודה זו כ־"השאר רק חלון אחד -- החלון בו אני נמצא עתה".)
833 אין חובה להציג את אותו החוצץ בשני החלונות. תוכלו להשתמש ב־C-x C-f
834 לפתיחת קובץ באחד החלונות -- דבר זה אינו משפיע על החלון השני. אפשר גם
835 לפתוח קבצים שונים בכל אחד משני החלונות באופן בלתי־תלוי.
837 הנה עוד שיטה להשתמש בשני חלונות להצגה של שני דברים שונים:
839 >> הקישו C-x 4 C-f ואחר־כך הקישו שם של אחד הקבצים שלכם.
840 סיימו עם <Return>. שימו לב שהקובץ המבוקש מוצג בחלון התחתון. הסמן
843 >> הקישו C-x o לעבור לחלון העליון ואחר־כך הקישו C-x 1 כדי לסלק את
850 Emacs מסוגל לפתוח מספר "תבניות" ("frames"). תבנית כוללת קבוצת חלונות,
851 תפריט, פסי גלילה, אזור תצוגת הד וכו'. על צג גרפי מה שאנו קוראים
852 "תבנית" נקרא בדרך־כלל "חלון". ניתן להציג תבניות אחדות על אותו צג גרפי
853 בו־זמנית על צג טקסטואלי אפשר להציג רק תבנית אחת בכל עת.
856 כתוצאה, תבנית חדשה תופיע על המסך.
858 כל מה שעשיתם בתבנית המקורית ניתן לעשות גם בתבנית החדשה. התבנית הראשונה
859 אין בה שום דבר מיוחד.
862 התבנית שבה הקשתם את הפקודה תיסגר ותיעלם מהמסך.
864 כמו־כן, ניתן לסגור תבנית בדרך הרגילה הנתמכת ע״י התצוגה הגרפית של
865 המערכת שלכם (בדרך־כלל, ע״י הקלקה על הכפתור המסומן ב־"X" בפינה עליונה
866 של התבנית.) שום מידע אינו הולך לעיבוד כאשר סוגרים תבנית (או חלון).
867 המידע הזה פשוט יורד מהתצוגה, אבל ניתן לאחזרו מאוחר יותר.
870 * רמות עריכה רקורסיביות
871 -----------------------
873 יתכן ותיקלעו למצב שקרוי "רמת עריכה רקורסיבית". Emacs מציין זאת ע״י
874 סוגריים מרובעים בשורת הסטטוס מסביב לשם האופן הראשי. למשל, יוצג שם
875 [(Fundamental)] במקום (Fundamental).
877 כדי להחלץ מרמת עריכה רקורסיבית יש להקיש <ESC> <ESC> <ESC>. זוהי פקודה
878 כללית של "הימלטות". ניתן להשתמש בה גם כדי לסלק חלונות מיותרים וליציאה
881 >> הקישו M-x כדי להיכנס למיני־חוצץ; אחר־כך הקישו <ESC> <ESC> <ESC> כדי
884 הקשה על C-g לא תחלץ אתכם מרמות עריכה רקורסיביות. זאת, משום ש־C-g מבטל
885 פקודות וארגומנטים _במסגרת_ הרמה הרקורסיבית, מבלי לצאת ממנה.
891 בשיעור הראשון הזה השתדלנו לתת בידיכם מידע שאך יספיק להתחלת השימוש שלכם
892 ב־Emacs. Emacs מכיל כל־כך הרבה שאין שום אפשרות לתאר ולהסביר כאן את
893 הכל. אולם, סביר שתרצו ללמוד יותר על Emacs שכן יש בו עוד הרבה תכונות
894 שימושיות. Emacs כולל פקודות לשם קריאת תיעוד על הפקודות של Emacs.
895 הפעלת פקודות "עזרה" אלו תמיד מתחילה במקש CONTROL-h שעל־כן נקרא "מקש
898 להפעלת פקודות עזרה יש להקיש את C-h ואחר־כך עוד תו שמבקש עזרה מסוג
899 מסויים. אם אתם _באמת_ אבודים, הקישו C-h ? ו־Emacs יציג את סוגי העזרה
900 שהוא מעמיד לרשותכם. אם הקשתם C-h ובסופו של דבר החלטתם שאין צורך בשום
901 עזרה, פשוט הקישו C-g לבטל את הפקודה.
903 (אם הקשת C-h אינה מציגה בתחתית התצוגה הודעה בדבר עזרה, נסו להקיש F1 או
904 M-x help <Return> כתחליף.)
906 סוג העזרה הבסיס ביותר הוא C-h c. הקישו C-h, אחריו את האות c ואז הקישו
907 סדרת מקשים שמפעילה פקודה כלשהי. Emacs יציג תיאור מאד קצר של הפקודה
912 התוצאה שתוצג צריכה להיות משהו כמו זה:
914 C-p runs the command previous-line
916 ההודעה הזו מראה את "שם הפונקציה". היות ושמות הפונקציות נבחרים כדי
917 לציין מה הן עושות, השמות עשויים לשמש כתיעוד מקוצר -- מספיק כדי להזכיר
918 לכם את הפקודות שלמדתם בעבר.
920 ניתן לציין אחרי C-h c גם פקודות שמופעלות ע״י סדרת מקשים באורך גדול
921 מאחד, כגון C-x C-s או <ESC> v (כתחליף ל־M-v, אם אין מקש META או EDIT
924 לקבלת מידע מפורט יותר על פקודה, השתמשו בפקודה C-h k במקום C-h c.
928 כתוצאה, יוצגו השם והתיעוד של הפונקציה בחלון Emacs נפרד. כשתסיימו לקרוא
929 את התיעוד, הקישו C-x 1 כדי לסלק את חלון העזרה. לא חייבים לעשות זאת
930 מיד. אפשר לבצע קצת עריכה תוך שימוש בתיעוד המוצג ורק אחר־כך להקיש C-x 1.
932 הנה עוד כמה פקודות עזרה שימושיות:
934 C-h f תן הסבר על פונקציה. יש להקיש את שם הפונקציה.
936 >> נסו להקיש C-h f previous-line <Return>.
937 כתוצאה, יוצג תיעוד מלא של הפונקציה המממשת את הפקודה C-p כפי שהוא
940 פקודה דומה C-h v מציגה תיעוד של משתנה, כולל אלו שאת הערכים שלהם ניתן
941 לשנות כדי לקסטם את Emacs. יש להקיש את שם המשתנה כאשר Emacs יבקש זאת.
943 C-h a פקודות בנוגע לנושא מסויים. הקישו מילת מפתח ו־Emacs
944 יציג את רשימת הפקודות ששמותיהן מכילות את מילת המפתח.
945 כל הפקודות הללו ניתנות להפעלה ע״י META-x. עבור חלק
946 מהפקודות תוצג גם סדרת מקשים שמפעילה את הפקודה.
948 >> הקישו C-h a file <Return>.
950 כתוצאה מזה, יוצג חלון עם רשימה של כל הפקודות ששמותיהן מכילות את המילה
951 "file". ביניהן תראו גם מקשי קיצור כגון C-x C-f לצד שמות הפקודות כגון
954 >> הקישו C-M-v כדי לגלול את חלון העזרה. עשו זאת פעמים אחדות.
956 >> עתה הקישו C-x 1 כדי לסגור את חלון העזרה.
958 C-h i הצג מדריכים למשתמש הכלולים בחבילת Emacs. (פקודה זו
959 ידועה גם בשם "Info".) פקודה זאת פותחת חוצץ מיוחד הקרוי
960 "*info*" שבו תוכלו לקרוא מדריכים המותקנים במערכת שלכם.
961 הקישו m emacs <Return> כדי לקרוא במדריך למשתמשי Emacs.
962 אם אינכם מכירים את Info, הקישו h ו־Emacs יקח אתכם
963 לשיעור על התכונות של Info mode. כשתסיימו עם השיעור
964 הזה, אנו בהחלט ממליצים להשתמש במדריך Emacs בתור התיעוד
971 תוכלו ללמוד עוד על־אודות Emacs ע״י קריאה במדריך למשתמש שלו, אם כספר
972 מודפס או בגירסה מקוונת בתוך Emacs עצמו. (תוכלו להגיע אל המדריך דרך
973 תפריט Help או ע״י הקשה על C-h r.) אולם שתי תכונות שבוודאי ימצאו חן
974 בעיניכם הן השלמה אשר חוסכת הקשות, ו־dired שמאפשרת טיפול נוח בקבצים.
976 השלמה היא דרך להימנע מהקשות מיותרות. למשל, אם ברצונכם לעבור לחוצץ
977 *Messages*, תוכלו להקיש C-x b *M<Tab> ו־Emacs ישלים את שאר האותיות של
978 שם החוצץ ככל שניתן להסיק ממה שהקשתם. השלמה פועלת גם על שמות הפקודות
979 ושמות קבצים. תכונת ההשלמה מתוארת במלואה במדריך למשתמש Emacs בצומת
980 (node) בשם "Completion".
982 Dired מאפשר להציג רשימת קבצים בתיקיה (וכאפציה גם בתת־תיקיות שלה), לנוע
983 בתוך הרשימה הזו, לפתוח קבצים, לשנות את שמותיהם, למחוק אותם ולבצע עליהם
984 עוד פעולות רבות. Dired מתואר במלואו במדריך למשתמש בצומת בשם "Dired".
986 בנוסף, מדריך למשתמש מתאר עוד הרבה מאד תכונות של Emacs.
992 כדי לצאת מ־Emacs יש להקיש C-x C-c.
994 שיעור זה נכתב כדי להיות מובן לכל המשתמשים החדשים, לכן אם מצאתם שמשהו
995 כאן אינו ברור, אל תשבו ותאשימו את עצמכם -- תתלוננו!
1001 שיעור זה הינו צאצא של שורה ארוכה של שיעורים בשימוש ב־Emacs, החל מהגרסה
1002 הראשונה שנכתבה ע״י Stuart Cracraft עבור גירסת ה־Emacs המקורית.
1004 גירסה זו של השיעור הינה חלק מחבילת GNU Emacs. היא מוגנת בזכויות יוצרים
1005 וניתנת להעתקה והפצת עותקים בתנאים מסויימים כדלקמן:
1007 Copyright (C) 2010-2018 Free Software Foundation, Inc.
1009 GNU Emacs הינו תכנה חפשית; זכותכם להפיצו ו\או לשנותו בכפוף לתנאי
1010 הרשיון GNU General Public License, כפי שהוא יוצא לאור ע״י Free
1011 Software Foundation, אם בגרסא 3 של הרשיון, ואם (כאופציה השמורה לכם)
1012 בכל גרסא מאוחרת יותר.
1014 GNU Emacs מופץ מתוך תקווה שהוא יביא תועלת, אולם ללא כל כתב אחריות;
1015 אפילו לא אחריות־במשתמע של סחירות או התאמה לאיזו תכלית מסוימת. לפרטים,
1016 אנא עיינו ב־GNU General Public License.
1018 GNU Emacs אמור להיות מלווה בעותק של GNU General Public License; אם לא
1019 קיבלתם אותו, תוכלו למצוא אותו sב־<https://www.gnu.org/licenses/>.
1021 הנכם מוזמנים לקרוא את הקובץ COPYING ואז אכן לחלק עותקים של GNU Emacs
1022 לחבריכם. עזרו לנו לחסל את "הבעלות" על תוכנה שאינה אלא חבלה בתוכנה,
1023 וזאת ע״י שימוש, כתיבה ושיתוף של תוכנה חופשית!
1027 --- end of TUTORIAL.he ---
1029 ;;; Local Variables:
1031 ;;; bidi-display-reordering: t
1032 ;;; sentence-end-double-space: nil
1033 ;;; bidi-paragraph-direction: nil