]> code.delx.au - gnu-emacs/blob - etc/tutorials/TUTORIAL.he
Update copyright notices for 2013.
[gnu-emacs] / etc / tutorials / TUTORIAL.he
1 שיעור ראשון בשימוש ב־‫Emacs‬. זכויות שימוש ראה בסוף המסמך.
2
3 פקודות רבות של Emacs משתמשות במקש CONTROL (לפעמים הוא מסומן ב־CTRL או CTL)
4 או במקש META (לפעמים מסומן EDIT או ALT). במקום לציין את כל השמות האפשריים
5 בכל פעם, נשתמש בקיצורים הבאים:
6
7 ‏<תו>-C משמעותו לחץ והחזק מקש CONTROL ואז הקש על מקש <תו>.
8 לדוגמא, C-f משמעותו: לחץ והחזק CONTROL והקש על f.
9 ‏<תו>-M משמעותו לחץ והחזק מקש META או EDIT או ALT ואז הקש על מקש <תו>.
10 אם במקלדת אין אף אחד ממקשי META או EDIT או ALT, אפשר להקיש
11 ולשחרר מקש ESC ואז להקיש <תו>. אנו נכתוב <ESC> עבור מקש ESC.
12
13 הערה חשובה: כדי לצאת מ־Emacs יש להקיש C-x C-c (שני תוים, משמאל לימין).
14 כדי להפסיק פקודה באמצע ההקשה, יש להקיש C-g.
15 המחרוזת ">>" בקצה הימני מסמנת הוראות עבורכם כדי לנסות להשתמש בפקודה כלשהי.
16 לדוגמה:
17 <<שורות ריקות תתווספנה סביב השורה הבאה ע"י help-with-tutorial>>
18 [אמצע העמוד הושאר ריק למטרות לימודיות. הטקסט ממשיך להלן]
19 >> הקישו עתה C-v (הצג העמוד הבא) על־מנת להתקדם לעמוד הבא. (קדימה, נסו
20 זאת ע"י לחיצה והחזקה של מקש CONTROL והקשה על v.)
21 מעתה והלאה, עליכם לעשות זאת בכל פעם שתסיימו לקרוא את המוצג על המסך.
22
23 שימו לב לחפיפה של שתי שורות כאשר אתם עוברים ממסך למשך, מה שמבטיח רציפות
24 מסוימת בעת קריאת הטקסט.
25
26 דבר ראשון שעליכם ללמוד הוא כיצד לנוע ממקום אחד למשנהו בתוך הטקסט. אתם
27 כבר יודעים כיצד להתקדם לעמוד הבא, עם C-v. לחזרה לעמוד הקודם הקישו M-v
28 (החזיקו מקש META והקישו v או הקישו ‪<ESC>v‬ אם אין במקלדת מקש META
29 או EDIT או ALT).
30
31 >> נסו עתה כמה פעמים להקיש M-v ואחר־כך C-v.
32
33
34 * סיכום עד כאן
35 --------------
36
37 לשם תנועה בעמודים שלמים וצפייה בהם, השתמשו בפקודות הבאות:
38
39 ‏C-v התקדם לעמוד הבא
40 ‏M-v חזור לעמוד הקודם
41 ‏C-l נקה תצוגה והצג מחדש את הטקסט,
42 כך שהטקסט ליד הסמן יימצא במרכז התצוגה
43 (שימו לב: CONTROL-L ולא CONTROL-1.)
44
45 >> מצאו את הסמן על־גבי התצוגה וזכרו את הטקסט לידו. לאחר מכן הקישו C-l.
46 מצאו את הסמן שנית ושימו לב שהוא עדיין ליד אותו הטקסט, אבל עכשיו
47 הוא במרכז התצוגה.
48 אם תקישו C-l שוב, קטע הטקסט הזה יזוז לקצה העליון של התצוגה. הקישו
49 C-l שוב והוא יזוז לתחתית התצוגה.
50
51 גם מקשי PageUp ו־PageDn, אם הם קיימים במקלדת שלכם, יכולים לשמש לתנועה
52 בעמודים שלמים, אולם השימוש ב־C-v ו־M-v יעיל יותר.
53
54 * תנועת סמן בסיסית
55 ------------------
56
57 תנועה בעמודים שלמים הינה שימושית, אבל כיצד ניתן להגיע למקום ספציפי
58 בתוך הטקסט שעל־גבי התצוגה?
59
60 ניתן לעשות זאת בכמה דרכים. אפשר למשל להשתמש במקשי החצים, אולם יהיה
61 זה יעיל יותר אם תחזיקו את הידיים מעל החלק הסטנדרטי של המקלדת ותשתמשו
62 בפקודות C-p, C-b, C-f ו־C-n. פקודות אלו שוות ערך לארבעת מקשי החצים,
63 כדלקמן:
64
65 שורה קודמת, C-p
66 :
67 :
68 קדימה, C-f ... מיקום סמן נוכחי ... אחורה, C-b
69 :
70 :
71 השורה הבאה, C-n
72
73 >> השתמשו במקשי C-n ו־C-p על־מנת להגיע לשורה האמצעית של הדיאגרמה.
74 הקישו C-l כדי למרכז את הדיאגרמה על־גבי התצוגה.
75
76 קל יותר לזכור את המקשים הללו באמצעות המלים שהם מייצגים:
77 P מ־previous (קודם), N מ־Next (הבא), B מ־Backward (אחורה)
78 ו־F מ־Forward (קדימה). מקשי התנועה הבסיסיים הללו ישמשו אתכם כל הזמן.
79
80 >> הקישו C-n כמה פעמים כדי למקם את הסמן בשורה זו.
81
82 >> הניעו את הסמן בתוך השורה עם C-f ואחר־כך למעלה עם C-p.
83 שימו לב מה עושה C-p כאשר הסמן נמצא באמצע השורה.
84
85 כל שורה של טקטס מסתיימת בתו מיוחד הנקרא Newline. תו זה מפריד בין
86 השורה לזו שאחריה. (בדרך כלל, השורה האחרונה בקובץ תסתיים אף היא
87 ב־Newline, אך Emacs אינו זקוק לכך.)
88
89 >> נסו C-b בתחילת שורה. הוא יגרום לסמן לנוע לסוף השורה הקודמת. זאת,
90 משום שהוא נע אחורה וחולף על־פני תו ה־Newline.
91
92 גם C-f יכול לחלוף על־פני Newline, בדיוק כמו C-b.
93
94 >> הקישו C-b עוד כמה פעמים כדי לקבל הרגשה היכן נמצא הסמן.
95 עתה הקישו C-f מספר פעמים הדרוש לשוב לסוף השורה. ואז הקישו
96 C-f עוד פעם אחת כדי לנוע לתחילת השורה הבאה.
97
98 כשהסמן יוצא מגבולות הטקסט המוצג, חלקי הטקסט מעבר לחלק המוצג נכנסים
99 לתצוגה. לזה קוראים "גלילה". גלילה מאפשרת ל־Emacs להניע את הסמן למקום
100 כלשהו בטקסט מבלי שהסמן ייעלם מהתצוגה.
101
102 >> נסו להניע את הסמן אל מחוץ לתצוגה ע"י הקשת C-n ושימו לב למה שקורה.
103
104 אם תנועה תו־תו איטית מדי, תוכלו לנוע מילים שלמות. M-f ‏(META-f) מזיז
105 את הסמן מילה אחת קדימה ואילו M-b זז מילה אחורה.
106
107 >> הקישו M-f ו־M-b מספר פעמים.
108
109 אם הסמן נמצא באמצע מילה, M-f זז לסוף המילה. אם הסמן נמצא בין שתי מלים,
110 M-f עובר את המילה הבאה ונעצר בסופה. M-b פועל באופן דומה בכיוון הפוך.
111
112 >> הקישו עתה M-f ו־M-b פעמים אחדות, וגם C-f ו־C-b פה ושם כדי שתוכלו
113 להתרשם מהתוצאה של M-f ו־M-b במקומות שונים בתוך ובין המלים.
114
115 שימו לב להקבלה שבין C-f ו־C-b מצד אחד ו־M-f ו־M-b מהצד השני. לעתים
116 קרובות מאד מקשים עם META משמשים לפעולות הקשורות ליחידות של שפה (מלים,
117 משפטים, פסקאות) ואילו מקשים עם CONTROL פועלים על יחידות בסיסיות שאינן
118 תלויות בסוג הטקסט שהינכך עורכים (תוים, שורות, וכד').
119
120 ההקבלה הזאת קיימת גם לגבי שורות ומשפטים: C-a ו־C-e נעים לתחילת השורה
121 וסופה, בהתאמה, ואילו M-a ו־M-e נעים לתחילת המשפט וסופו.
122
123 >> נסו עתה שתי הקשות על C-a ואחר־כך שתי הקשות על C-e.
124 נסו שני M-a ואחר־כך שני M-e.
125
126 שימו לב שחזרה על C-a אינה עושה דבר, ואילו כל הקשה חוזרת על M-a מניעה
127 את הסמן במשפט נוסף. אמנם אין כאן אנלוגיה מושלמת, אבל התוצאה נראית
128 טבעית בשני המקרים.
129
130 מקום הסמן בתוך הטקסט נקרא "point" ("נקודה"). במלים אחרות, הסמן מראה
131 את מיקומו של "point" בתוך הטקסט.
132
133 הנה סיכום של פקודות פשוטות להנעת הסמן, כולל פקודות שנעות במלים
134 ומשפטים שלמים:
135
136 ‏C-f נוע תו אחד קדימה
137 ‏C-b נוע תו אחד אחורה
138
139 ‏M-f נוע מילה קדימה
140 ‏M-b נוע מילה אחורה
141
142 ‏C-n נוע לשורה הבאה
143 ‏C-p נוע לשורה הקודמת
144
145 ‏C-a נוע לתחילת השורה
146 ‏C-e נוע לסוף השורה
147
148 ‏M-a נוע קדימה לסוף המשפט
149 ‏M-e נוע אחורה לתחילת המשפט
150
151 >> נסו את כל הפקודות הללו מספר פעמים, לשם תרגול.
152 אלו הן הפקודות הנפוצות ביותר.
153
154 שתי פקודות תנועה חשובות אחרת הן ‪M-<‬ ‏(META פחות), אשר נעה לתחילת
155 הטקסט, ו־‪M->‬ ‏(META יותר), אשר נעה לסוף הטקסט.
156
157 ברוב המקלדות המקש ">" נמצא מעל הפסיק, לכן כדי להקישו יש צורך ללחוץ
158 ולהחזיק מקש Shift. באופן דומה יש ללחוץ על Shift כדי להקיש ‪M-<‬ כי
159 אחרת היה יוצא M-פסיק.
160
161 >> נסו עתה ‪M-<‬ כדי להגיע לתחילת השיעור.
162 אחר־כך הקישו C-v מספר פעמים, עד שתגיעו לכאן.
163
164 >> עכשיו נסו ‪M->‬ כדי להגיע לסוף השיעור.
165 לאחר מכן הקישו M-v כמה פעמים כדי לחזור לכאן.
166
167 ניתן להזיז את הסמן גם בעזרת מקשי החצים, אם הם קיימים במקלדת שלכם.
168 אבל אנחנו ממליצים ללמוד להשתמש ב־C-b, C-f, C-n ו־C-p משלוש סיבות.
169 קודם כל, הם יעבדו עם כל מקלדת. שנית, כשתתרגלו לעבוד עם Emacs, תראו
170 כי השימוש במקשים אלו מהיר יותר מהשימוש בחצים (מכיון שאין צורך להזיז
171 את היד מהחלק העיקרי של המקלדת). ושלישית, כשהמקשים הללו יהפכו להרגל,
172 יהיה לכם קל יותר ללמוד פקודות מתקדמות יותר של תנועת הסמן.
173
174 רוב הפקודות של Emacs מקבלות ארגומנט נומרי; עבור רוב הפקודות הארגומנט
175 משמש כמונה של מספר החזרות על הפקודה. כדי לספק ארגומנט לפקודה, יש להקיש
176 C-u ואחר־כך ספרות, וזאת לפני שמקישים את הפקודה עצמה. עם במקלדת קיים
177 מקש META (או EDIT או ALT), יש גם אפשרות אחרת לציין ארגומנט נומרי:
178 הקישו את הספרות תוך כדי החזקת מקש META. אנו ממליצים על C-u משום שהוא
179 יעבוד עם כל מקלדת. הארגומנט הנומרי נקרא גם "ארגומנט קידומת" (prefix
180 argument) משום מקישים אותו לפני הפקודה אליה הוא מתייחס.
181
182 למשל, C-u 8 C-f מניע את הסמן 8 תוים קדימה.
183
184 >> נסו להקיש C-n או C-p עם ארגומנט נומרי, כדי להזיז את הסמן אל שורה
185 מסוימת בפקודה אחת בלבד.
186
187 רוב הפקודות מפרשות את הארגומנט הנומרי כמונה חזרות, אבל פקודות מסוימות
188 משתמשות בו בצורות אחרות. כמה פקודות (אבל אף אחת מבין אלו שלמדנו עד כה)
189 משתמשות בו כדגלון -- נוכחותו של הארגומנט, ללא קשר לערכו המספרי, גורמת
190 לפקודה להתנהג קצת אחרת.
191
192 ‏C-v ו־M-v יוצאים מהכלל הזה באופן אחר. כשפקודות אלו מקבלות ארגומנט,
193 הן גוללים את התצוגה כמספר הזה של שורות, ולא בדפים. למשל, C-u 8 C-v
194 יגלול את התצוגה ב־8 שורות.
195
196 >> נסו עתה להקיש C-u 8 C-v.
197
198 כתוצאה, התצוגה היתה צריכה לזוז ב־8 שורות. אם ברצונכם לגלול בחזרה,
199 אפשר להשיג זאת ע"י מתן ארגומנט ל־M-v.
200
201 אם הפעלתם את Emacs על־גבי תצוגה גרפית כגון X או MS-Windows, אתם
202 צריכים לראות פס צר וגבוה, ששמו פס גלילה (scroll bar) בצידו של החלון
203 של Emacs. ניתן לגלול את הטקסט ע"י הקלקת עכבר בתוך פס הגלילה.
204
205 אם העכבר שלכם מצויד בגלגל, תוכלו להשתמש גם בו לגלילת הטקסט.
206
207 * אם Emacs מפסיק להגיב
208 ----------------------
209
210 אם Emacs מפסיק להגיב לפקודות, תוכלו להפסיק אותו בבטחה ע"י הקשת C-g.
211 פקודות שביצוען מתארך אף הן ניתנות להפסקה בעזרת C-g.
212
213 בנוסף, תגרום הקשת C-g לביטול הארגומנט הנומרי או תחילת הפקודה שטרם
214 השלמתם להקיש והתחרטתם.
215
216 >> הקישו C-u 100 כדי לציין ארגומנט של 100, ולאחר מכן C-g. עתה הקישו
217 C-f. הוא צריך לנוע תו אחד בלבד, שכן ביטלתם את הארגומנט בעזרת C-g.
218
219 אם הקשתם <ESC> בטעות, ניתן לבטלו בעזרת C-g.
220
221 * פקודות מנוטרלות
222 -----------------
223
224 מספר פקודות ב־Emacs מנוטרלות בכוונה כדי שמשתמשים מתחילים לא יפעילו
225 אותן בדרך מקרה.
226
227 אם תקישו את אחת הפקודות הללו, Emacs יציג הודעה המתארת את הפקודה וישאל
228 אם לבצע את הפקודה או לבטלה.
229
230 אם אכן בכוונתכם לנסות את הפקודה, הקישו <SPC> (מקש הרווח) בתשובה לשאלה.
231 בדרך כלל, אם אינכם מעוניינים לבצע את הפקודה המנוטרלת, הקישו "n" בתשובה
232 לשאלה הזו.
233
234 * חלונות
235 --------
236
237 תצוגת Emacs יכולה לכלול יותר מחלון אחד, כשכל אחד מהם מציג טקסט משלו.
238 מאוחר יותר נסביר כיצד להשתמש בחלונות מרובים. כעת ברצוננו להסביר כיצד
239 להפטר מחלונות מנותרים ולחזור לעריכה בחלון יחיד. אין דבר פשוט מזה:
240
241 ‏C-x 1 חלון אחד בלבד (כלומר, סגור את כל החלונות האחרים).
242
243 כדי להפעיל פקודה זו, הקישו CONTROL-x ולאחריו את הספרה 1. הפקודה C-x 1
244 מרחיבה את החלון המציג את הסמן כך שהוא תופס את כל שטח התצוגה. הפקודה
245 מבטלת את שאר החלונות.
246
247 >> הניעו את הסמן לתוך שורה זו והקישו C-u 0 C-l.
248 >> עתה הקישו C-h k C-f.
249 שימו לב כיצד החלון הנוכחי מצטמצם ומופיע חלון חדש שבו מוצג
250 התיעוד של הפקודה C-f.
251
252 >> הקישו C-x 1 ושימו לב שהחלון עם ההסבר על C-f נעלם.
253
254 פקודה זו שונה מכל שאר הפקודות שלמדנו עד כה בכך שהיא מכילה שני תוים.
255 היא מתחילה עם התו CONTROL-x. פקודות רבות מאד מתחילות ב־CONTROL-x; חלק
256 גדול מהן עוסקות בחלונות, קבצים, חוצצים ונושאים דומים אחרים. פקודות אלו
257 מכילות שנים, שלושה ואפילו ארבעה תוים.
258
259
260 * הכנסה ומחיקה
261 --------------
262
263 אם ברצונכם להכניס טקסט, פשוט הקישו על המקשים המתאימים. תוים רגילים,
264 כגון A, א, 7, * וכד' מיד מתווספים לטקסט הקיים. הקישו <Return> (מקש
265 חזרת גרר שלעתים נהוג לקרוא לו "Enter") כדי להכניס את תו השורה החדשה
266 (Newline).
267
268 למחיקת התו האחרון שהקשתם הקישו <DEL>. בדרך כלל זהו מקש שמסומן
269 ב־"Backspace", והוא משמש אתכם למחיקת התו אחרון גם בתוכניות אחרות, לא
270 רק ב־Emacs.
271
272 יתכן שבמקלדת שלכם קיים מקש שעליו רשום <Delete>, אך זה אינו המקש שאנו
273 קוראים לו <DEL>.
274
275 >> הקישו עתה מספר תוים, ואחר־כך מחקו אותם ע"י הקשות אחדות
276 על <DEL>. אל תחששו לשנות את הקובץ הזה -- העותק המקורי
277 של השיעור יישאר ללא שינוי. אתם עובדים על העותק האישי שלכם.
278
279 כאשר שורה של טקסט נעשית ארוכה משורה אחת של תצוגה, חלק מהטקסט ממשיך
280 בשורת תצוגה נוספת, היא "שורת ההמשך". על תצוגה גרפית יופיע חץ עקלקל קטן
281 באזור השוליים -- "fringe" שמסמל כי לשורה יש שורת המשך, ואילו על תצוגה
282 טקסטואלית יופיע תו לוכסן ("/") לאותה תכלית בסוף השורה.
283
284 >> הקישו טקסט עד שתגיעו לקצה השורה, ואז תמשיכו להקיש עוד טקסט.
285 כתוצאה, תראו שמופיעה שורת המשך.
286
287 >> עתה הקישו <DEL> על־מנת למחוק טקסט עד שהשורה תיעשה קצרה מספיק
288 ותתאים לשורה בודדת על־גבי התצוגה. שורת ההמשך תיעלם.
289
290 ניתן למחוק את תו ה־Newline כמו כל תו אחר. מחיקת ה־Newline בין שתי
291 שורות תמזג את השורות לשורה אחת. אם השורה המשולבת תהיה ארוכה מרוחב
292 התצוגה, היא תוצג עם שורת המשך.
293
294 >> הניעו את הסמן לתחילת השורה והקישו <DEL>. כתוצאה, השורה תתמזג
295 אם קודמתה.
296
297 >> עתה הקישו <Return> כדי להחזיר את ה־Newline שמחקתם.
298
299 זכרו כי לרוב הפקודות ב־Emacs אפשר לציין מספר חזרות. גם תוי טקסט
300 שייכים לקבוצת פקודות זו. חזרה על תו טקסט מכניסה אותו מספר פעמים.
301
302 >> נסו זאת עכשיו -- הקישו ‪C-u 8 *‬ על־מנת להכניס ********.
303
304 ובכן, למדתם את האופן הבסיסי ביותר להדפיס משהו ב־Emacs ולתקן שגיאות.
305 אפשר למחוק גם מלים ואף שורות שלמות. להלן סיכום פקודות המחיקה:
306
307 ‏<DEL> מחק תו שלפני הסמן
308 ‏C-d מחק תו מתחת או אחרי הסמן
309
310 ‏‪M-<DEL>‬ גזור מילה שלפני הסמן
311 ‏M-d גזור מילה שאחרי הסמן
312
313 ‏C-k גזור טקסט מהסמן ועד סוף השורה
314 ‏M-k גזור טקסט עד סוף המשפט הנוכחי.
315
316 שימו לב שהיחס בין <DEL> ו־C-d לעומת M-<DEL>‎ ו־M-d ממשיכים את ההקבלה
317 שבין C-f ו־M-f (אמנם <DEL> איננו תו בקרה, אבל בוא נזניח את הנקודה הזו
318 לעת־עתה). C-k ו־M-k דומים ל־C-e ו־M-e, אם נקביל שורות למשפטים.
319
320 בנוסף, קיימת שיטה אחידה שמאפשרת לגזור קטע כלשהו של טקסט. לשם כך, תגיעו
321 לקצה האחד של חלק הטקסט והקישו C-<SPC>‎. (<SPC> הוא מקש הרווח.) עתה
322 הניעו את הסמן לקצה השני של חלק הטקסט אשר ברצונכם לגזור. תוך כדי תנועת
323 הסמן Emacs צובע את הטקסט בין הסמן לבין המקום בו הקשתם C-<SPC>‎. לבסוף,
324 הקישו C-w. כתוצאה, כל הטקסט בין שני המקומות הללו ייגזר.
325
326 >> הניעו את הסמן אל האות ב בתחילת הפיסקה הקודמת.
327 >> הקישו C-<SPC>‎. ‏Emacs צריך להציג הודעה האומרת "Mark set" בתחתית
328 התצוגה.
329 >> הניעו את הסמן אל האות צ בשורה השניה של הפיסקה.
330 >> הקישו C-w. בכך תגזרו את חלק הטקסט שמתחיל ב־ב ומסתיים לפני ה־צ.
331
332 ההבדל בין "מחיקה" ("deletion") ו־"גזירה" ("killing") הוא שהטקסט
333 "הגזור" ניתן לאחזור ולהכנסה (במקום כלשהוא בטקסט), ואילו טקסט "מחוק" לא
334 ניתן להכניס מחדש בשיטה זו. (אבל ניתן לבטל את מחיקה -- ראה להלן.) אחזור
335 הטקסט הגזור נקרא "הדבקה" ("yanking"). באופן כללי, פקודות אשר עלולות
336 להעלים כמויות גדולות של טקסט תמיד גוזרות את הטקסט (כך שניתן יהיה בקלות
337 לשחזרו) בעוד הפקודות שמורידות תו בודד או שורות ריקות ותוי רווח --
338 מוחקות (כך שלא ניתן להדביק את הטקסט שנמחק). כך, <DEL> ו־C-d מוחקים
339 כאשר מפעילים אותם ללא ארגומנט, אבל גוזרים כאשר מפעילים אותם עם ארגומנט.
340
341 >> הניעו את הסמן לתחילת שורה שאינה ריקה. אחר־כך הקישו C-k כדי לגזור
342 את כל הטקסט של אותה שורה.
343 >> הקישו C-k פעם נוספת. שימו לב שהוא גוזר את ה־Newline שבסוף השורה.
344
345 שימו לב ש־C-k בודד גוזר את תכולת השורה, ו־C-k נוסף גוזר גם את השורה
346 עצמה וגורם לשאר השורות לנוע כלפי מעלה. C-k מפרש את הארגומנט הנומרי
347 באופן מיוחד: הוא גוזר כמספר הזה שורות, כולל ה־Newlines שלהן. זה שונה
348 מסתם הפעלה חוזרת: C-u 2 C-k גוזר שתי שורות כולל ה־Newlines שלהן,
349 ואילו הקשה על C-k פעמיים לא עושה כן.
350
351 אחזור הטקסט שגזרנו נקרא "הדבקה" ("yanking"). (תחשבו על זה כעל שליפה
352 של טקסט מתהום הנשייה אליה הוא נלקח.) ניתן להדביק את הטקסט שגזרתם
353 באותו מקום ממנו נגזר או במקום אחר כלשהו בתוך הטקסט שאתם עורכים, או
354 אפילו בקובץ אחר. ניתן להדביק את אותו הטקסט מספר פעמים ובכך ליצור
355 עותקים מרובים ממנו. תוכניות עריכה אחרות משתמשות במונחים "cutting"
356 ו־"pasting" במקום "killing" ו־"yanking" (ראה את מילון המונחים בפרק
357 ה־"Glossary" של מדריך למשתמשי Emacs).
358
359 הפקודה להדבקה היא C-y. היא מכניסה את הטקסט הגזור במקום הנוכחי של הסמן.
360
361 >> נסו זאת: הקישו C-y כדי לאחזר טקסט שגזרתם קודם לכן.
362
363 אם תקישו C-k מספר פעמים ברצף, כל הטקסט שגזרתם בדרך זו נשמר ביחד, כך
364 ש־C-y בודד ידביק את כולו בבת אחת.
365
366 >> עשו זאת עתה: הקישו C-k כמה פעמים.
367
368 עכשיו לאחזור הטקסט שגזרתם:
369
370 >> הקישו C-y. אחר־כך הניעו את הסמן כמה שורות כלפי מטה והקישו C-y שוב.
371 כפי שראיתם, כך תוכלו להעתיק חלק מהטקסט ממקום למקום.
372
373 מה לעשות אם יש לכם טקסט להדבקה, אבל בינתיים גזרתם טקסט אחר? C-y ידביק
374 רק את הגזירה האחרונה. אולם הטקסט שגזרתם קודם לכן אינו הלך לאיבוד. ניתן
375 לאחזרו בעזרת הפקודה M-y. אחרי שהקשתם C-y שמדביק את הטקסט שגזרתם
376 לאחרונה, הקשה על M-y מחליפה את הטקסט המודבק בטקסט שגזרתם בפעם לפני
377 האחרונה. הקשה חוזרת ונשנית על M-y מביאה טקסט שגזרתם בפעמים קודמות יותר
378 ויותר. כשתראו שהטקסט המודבק הוא מה שרציתם להדביק, תפסיקו להקיש M-y
379 ותמשיכו בעריכה כרגיל. אין צורך בשום פקודה מיוחדת לשם כך.
380
381 אם תקישו M-y מספיק פעמים בזו אחר זו, תגיעו חזרה לנקודת ההתחלה (טקסט
382 שגזרתם לאחרונה).
383
384 >> גזרו שורה, אחר־כך תניעו את הסמן אנה ואנה, ולבסוף גזרו שורה נוספת.
385 הקישו C-y כדי לאחזר את השורה השניה שגזרתם.
386 עתה הקישו M-y והשורה שאחזרתם תוחלף בשורה הראשונה שגזרתם.
387 הקישו M-y מספר פעמים נוספות ושימו לב לתוצאות. המשיכו להקיש M-y
388 עד שהשורה השניה שגזרתם תופיע שוב, ואז תמשיכו עוד מספר פעמים.
389 אם תרצו, תוכלו לנסות M-y עם ארגומנט חיובי או שלילי.
390
391
392 * ביטול פעולות
393 --------------
394
395 אם שיניתם את הטקסט ואז החלטתם שהשינוי היה טעות, תוכלו לבטל את השינוי
396 בעזרת פקודת הביטול, ‪C-/‬.
397
398 בדרך כלל,‪C-/‬ מבטל את השינויים שבוצעו ע"י פקודה אחת. הפעלה חוזרת של
399 ‪C-/‬ ברצף מבטלת שינויים של פקודות קודמות, אחת אחרי השניה.
400
401 שני יוצאים מהכלל הזה: פקודות שאינן משנות טקסט (למשל פקודות הנעת הסמן
402 ופקודות גלילה) אינן נספרות ותוים שמכניסים את עצמם מקובצים בקבוצות של
403 עד 20, כדי להקטין את מספר הפעמים שיש להקיש ‪C-/‬ כדי לבטל הכנסת טקסט.
404
405 >> גזרו שורה זו עם C-k, אחר־כך הקישו ‪C-/‬ והיא תופיע שוב.
406
407 ‏C-_‎ הינה דרך חלופית להפעיל את פקודת הביטול. היא פועלת בדיוק כמו ‪C-/‬.
408 במקלדות אחדות הקשה על ‪C-/‬ שולחת ל־Emacs את התו C-_‎. חלופה נוספת היא
409 C-x u, אם־כי היא פחות נוחה להקשה מספר פעמים בזו אחר זו.
410
411 ארגומנט נומרי ל־‪C-/‬ או ל־C-_‎ או ל־C-x u משמש כמספר החזרות על הפקודה.
412
413 ניתן לבטל מחיקה של טקסט בדיוק כמו שניתן לבטל גזירה. ההבדלים בין מחיקה
414 וגזירה משפיעים על יכולתכם להדביק את הטקסט הגזור עם C-y; הם אינם חשובים
415 לעניין הביטול.
416
417
418 * קבצים
419 -------
420
421 על־מנת שהטקסט שערכתם יישמר, יש לשים אותו בקובץ. אחרת, הוא ייעלם ברגע
422 שתצאו מ־Emacs. כדי לשים את הטקס בקובץ, יש "לפתוח" ("find") את הקובץ
423 לפני שמתחילים להקיש טקסט. (שם אחר לכך הוא "לפקוד" את הקובץ - "visit".)
424
425 פתיחת הקובץ משמעותה שתוכן הקובץ מוצג בתוך Emacs. מבחינות רבות הדבר
426 דומה לעריכת הקובץ עצמו. אולם, השוניים שלכם בתוך Emacs אינם הופכים חלק
427 מהקובץ עד שאתם "שומרים" את הקובץ. זאת, כדי להימנע מיצירת קובץ שאינו
428 שלם במערכת שלא כרצונכם. אפילו אם אתם שומרים את הקובץ, Emacs משאיר את
429 התוכן המקורי בשם שונה למקרה שמאוחר יותר תחליטו שהשינויים נעשו בטעות.
430
431 אם תביטו בחלק התחתון של התצוגה, תראו שם שורה בולטת שמתחילה במקפים וליד
432 הקצה השמאלי שלה כתוב "TUTORIAL.he". חלק זה של התצוגה בדרך כלל מציג את
433 שם הקובץ אותו אתם פוקדים. כרגע אתם פוקדים קובץ בשם "TUTORIAL.he" שהוא
434 עותק הטיוטה האישי שלכם של שיעור השימוש ב־Emacs. פתיחת קובץ כלשהו
435 ב־Emacs תציג את שמו של הקובץ במקום זה.
436
437 היבט אחד מיוחד של פתיחת קובץ הוא שיש לציין את שם הקובץ אשר ברצונכם
438 לפתוח. אנו אומרים שהפקודה "קוראת ארגומנט" (במקרה זה הארגומנט הוא שם
439 הקובץ). אחרי שתקישו את הפקודה
440
441 ‏C-x C-f פתח קובץ
442
443 ‏Emacs מבקש שתקישו את שם הקובץ. שם הקובץ שתקישו מופיע בשורה התחתונה של
444 התצוגה. שורה זו נקראת "מיני־חוצץ" ("minibuffer") כשהיא משמשת לסוג זה
445 של קלט. ניתן להשתמש בכל פקודות העריכה הרגילות של Emacs כשמקישים את
446 שם הקובץ בחוצץ זה.
447
448 אם טרם סיימתם להקיש את שם הקובץ (או כל סוג אחר של קלט במיני־חוצץ),
449 ניתן לבטל את הפקודה בעזרת C-g.
450
451 >> הקישו C-x C-f ואחר־כך הקישו C-g. זה מבטל את המיני־חוצץ וגם מבטל
452 את הפקודה C-x C-f שהשתמשה במיני־חוצץ. התוצאה היא שאף קובץ לא נפתח.
453
454 משסיימתם להקיש את שם הקובץ, הקישו <Return> לסיים את הקלט. או־אז
455 המיני־חוצץ נעלם והפקודה C-x C-f תיגש לעבודה ותמצא ותפתח את הקובץ
456 שבחרתם. כאשר פקודת ה־C-x C-f תסיים את עבודתה, תוכן הקובץ יופיע על־גבי
457 התצוגה ותוכלו לבצע בו שינויים. כשתחליטו לשמור את השינויים, הקישו את
458 הפקודה הבאה:
459
460 ‏C-x C-s שמור את הקובץ
461
462 פקודה זו שומרת בקובץ את הטקסט המוחזק בתוך Emacs. בפעם הראשונה שתפעילו
463 פקודה זו, Emacs משנה את שם הקובץ המקורי לשם חדש כך שהמקור לא ילך
464 לאיבוד. השם החדש נוצר ע"י הוספת "~" בסוף השם המקורי של הקובץ.
465
466 כשהשמירה מסתיימת, Emacs מציג בשורה התחתונה את שם הקובץ שנשמר. נסו
467 לשמור לעתים מזומנות על־מנת להימנע מלאבד יותר מדי מהעבודה שלכם אם המחשב
468 ייפול (ראה להלן פיסקה על שמירה אוטומטית).
469
470 >> הקישו C-x C-s TUTORIAL.he ותסיימו בהקשת <Return>. כתוצאה, שיעור זה
471 יישמר בקובץ בשם TUTORIAL.he ובתחתית התצוגה תופיע ההודעה
472 "Wrote ...TUTORIAL.he".
473
474 ניתן לפתוח קובץ קיים על־מנת לצפות בו או לערוך אותו. ניתן גם לפתוח קובץ
475 שאינו קיים. זו הדרך ליצור קבצים חדשים בעזרת Emacs: פתחו את הקובץ
476 שיהיה תחילה ריק ואז התחילו להקיש טקסט לתוכו. כשתפעילו את פקודת השמירה,
477 Emacs ייצור את הקובץ עם הטקסט שהקשתם. מאותו רגע ואילך, תוכלו לחשוב
478 שהינכם עורכים קובץ קיים.
479
480
481 * חוצצים
482 --------
483
484 אם תפתחו קובץ נוסף עם C-x C-f, הקובץ הראשון עדיין נשאר פתוח ב־Emacs.
485 תוכלו לחזור אליו ע"י C-x C-f. כך תוכלו לפתוח מספר רב של קבצים.
486
487 ‏Emacs מחזיק כל קובץ בתוך יישות בשם "חוצץ" ("buffer"). פתיחת קובץ יוצרת
488 חוצץ חדש בתוך Emacs. כדי לראות את רשימת החוצצים הקיימים בתוך Emacs,
489 הקישו
490
491 ‏C-x C-b הצג רשימת כל החוצצים
492
493 >> נסו את C-x C-b בנקודה זו.
494
495 שימו לב שלכל חוצץ יש שם וכל חוצץ עשוי גם לציין את שם הקובץ שאת תוכנו
496 הוא מחזיק. כל טקסט שאתם מקישים בחלון Emacs תמיד יהיה חלק של חוצץ
497 כלשהו.
498
499 >> הקישו C-x 1 כדי להפטר מרשימת החוצצים.
500
501 כשקיימים מספר חוצצים, רק אחד מהם יכול להיות החוצץ "הנוכחי" בכל רגע
502 נתון. זהו החוצץ בו אתם מבצעים עריכה באותו רגע. אם ברצונכם לערוך חוצץ
503 אחר, עליכם "לעבור" חוצץ. עבור חוצצים שמתאימים לקבצים, ניתן לעשות זאת
504 ע"י C-x C-f שיפקוד את הקובץ בשנית. אבל קיימת דרך פשוטה יותר: שימוש
505 בפקודה C-x b. פקודה זו תחייב אותכם להקיש את שם החוצץ.
506
507 >> ניצור עתה קובץ בשם "foo" ע"י הקשת C-x C-f foo <Return>‎.
508 עתה חזרו לשיעור זה בעזרת C-x b TUTORIAL.he <Return>‎.
509
510 ברוב המקרים שם החוצץ זהה לשם הקובץ (ללא שם התיקיה שלו). אבל אין זה
511 תמיד כך. רשימת החוצצים שנוצרת ע"י C-x C-b תציג הן את שם החוצץ והן את
512 שם הקובץ עבור כל החוצצים הקיימים ב־Emacs.
513
514 כל טקסט שמוצג בחלון של Emacs הינו תמיד חלק של חוצץ כלשהו. קיימים
515 חוצצים שאינם קשורים לשום קובץ. לדוגמא, החוצץ בשם "*Buffer List*"
516 המחזיק את רשימת החוצצים שנוצרה ע"י C-x C-b אינו מציג שום קובץ. גם
517 לחוצץ הנוכחי ששמו TUTORIAL.he לא היה קובץ עד שהקשתם על C-x C-s כדי
518 לשמור אותו בקובץ.
519
520 חוצץ בשם "*Messages*" אף הוא אינו קשור לשום קובץ; הוא מחזיק את ההודעות
521 שהופיעו בשורה התחתונה במהלך עבודתכם בתוך Emacs.
522
523 >> הקישו C-x b *Messages* <Return>‎ כדי לצפות בחוצץ של הודעות.
524 אחר־כך הקישו C-x b TUTORIAL.he <Return>‎ על־מנת לחזור לשיעור זה.
525
526 אם עשיתם שינויים בטקסט של קובץ ואחר־כך פתחתם קובץ אחר, אין הדבר שומר
527 את השינויים שעשיתם לקובץ הראשון. השינויים הללו נשארים בתוך Emacs, בתוך
528 החוצץ של אותו קובץ. יצירתו ועריכתו של הקובץ הנוסף אינם משפיעים על
529 החוצץ של הקובץ הראשון. דבר זה הוא שימושי, אך משמעותו היא שיש צורך
530 בשיטה נוחה לשמור את החוצץ של הקובץ הראשון. היה זה מאד לא נוח אילו
531 לשם כך הייתם צריכים לעבור לחוצץ ההוא בעזרת C-x C-f ואז לשמור עם
532 C-x C-s. לכן קיימת פקודה
533
534 ‏C-x s שמור חוצצים אחדים
535
536 ‏C-x s עובר על כל החוצצים אשר מכילים שינויים שטרם נשמרו. לגבי כל חוצץ
537 כזה הוא שואל אתכם האם לשמור אותו או לא.
538
539 >> הכניסו שורה של טקסט ואחר־כך הקישו C-x s.
540 הוא צריך לשאול האם לשמור חוצץ בשם TUTORIAL.he.
541 השיבו בחיוב ע"י הקשה על "y".
542
543
544 * הרחבת אוסף הפקודות
545 --------------------
546
547 מספר הפקודות ב־Emacs גדול בהרבה ממה שניתן להפעיל ע"י כל תוי ה־control
548 וה־meta. כדי להתגבר על בעיה זו, Emacs משתמש בפקודות X המרחיבות (eXtend)
549 את אוסף הפקודות הרגיל. פקודות הרחבה אלו הן שתים:
550
551 ‏C-x הרחבת תו. תו בודד שבא אחריו משלים את הפקודה.
552 ‏M-x הרחבה ע"י שם הפקודה. אחריו בא שם ארוך של פקודה.
553
554 בעזרת שתי אלו ניתן להפעיל פקודות שימושיות שבהן משתמשים לעתים רחוקות
555 יותר מאשר פקודות שלמדתם עד עכשיו. כמה מהן כבר ראיתם: C-x C-f לפתיחת
556 קובץ, ו־C-x C-s לשמירת קובץ, לדוגמא. דוגמא נוספת היא פקודה לצאת
557 מ־Emacs -- ‏C-x C-c. (כשאתם מפעילים C-x C-c, אל תדאגו לשינויים שטרם
558 נשמרו; C-x C-c מציע לשמור כל קובץ ששיניתם לפני שהוא מסיים את Emacs.)
559
560 אם אתם משתמשים בצג גרפי, אינכם זקוקים לפקודה מיוחדת כדי לעבור מ־Emacs
561 לתוכנית אחרת. אפשר לעשות זאת בעזרת העכבר או פקודות של מנהל החלונות.
562 אולם, כאשר אתם משתמשים בתצוגה טקסטואלית שמסוגלת להציג רק תוכנית אחת
563 בו־זמנית, תצטרכו "להשעות" ("suspend") את Emacs על־מנת לעבור לתוכנית
564 אחרת.
565
566 הפקודה C-z יוצאת מ־Emacs *באופן זמני* -- כך שתוכלו לשוב אליו מאוחר
567 יותר ולהמשיך מאותה נקודה. כאשר Emacs רץ על תצוגת טקסט, C-z "משעה" את
568 Emacs: הוא מחזיר אתכם לשורת הפקודות הבסיסית של מערכת ההפעלה ("shell"),
569 אבל אינו מסיים את Emacs. ברוב המערכות, כדי להמשיך בעבודתכם ב־Emacs,
570 תצטרכו להקיש את הפקודה "fg" או ‪"%emacs"‬.
571
572 הרגע הנכון להשתמש ב־C-x C-c הוא כאשר אתם עומדים להתנתק (log out).
573 כמו־כן, תצטרכו להשתמש בו כדי לצאת מ־Emacs שהופעל ע"י תוכניות אחרות
574 כגון קריאת דואר אלקטרוני.
575
576 קיימות פקודות C-x רבות מאד. להלן רשימת אלו שכבר למדתם:
577
578 ‏C-x C-f פתח קובץ
579 ‏C-x C-s שמור קובץ
580 ‏C-x s שמור חוצצים אחדים
581 ‏C-x C-b הצג רשימת חוצצים
582 ‏C-x b החלף חוצץ
583 ‏C-x C-c צא מ־Emacs
584 ‏C-x 1 השאר רק חלון אחד ומחק כל השאר
585 ‏C-x u בטל פקודה אחרונה
586
587 הרחבה ע"י שם הפקודה שימושית עם פקודות עוד יותר נדירות או פקודות
588 ספציפיות רק לאופני פעולה (modes) מיוחדים. דוגמא לכך היא פקודה
589 replace-string (החלף מחרוזת) אשר מחליפה מחרוזת אחת במשנה בכל החוצץ.
590 אחרי שתקישו M-x, ‏Emacs מציג M-x בתחתית התצוגה ומחכה שתקישו את שם
591 הפקודה, במקרה זה "replace-string". מספיק שתקישו "repl s<TAB>‎" ו־Emacs
592 ישלים את השם המלא. (<TAB> הוא מקש Tab, בדרך כלל תמצאו אותו מעל מקש
593 ה־CapsLock או Shift, ליד הקצה השמאלי של המקלדת.) סיימו את הזנת הפקודה
594 ע"י הקשת <Return>.
595
596 הפקודה להחלפת מחרוזת זקוקה לשני ארגומנטים -- המחרוזת שתוחלף וזו שתחליף
597 אותה. סיימו הקשה של כל אחת מהן ע"י <Return>.
598
599 >> הביאו את הסמן שתי שורות מתחת לשורה זו.
600 עתה הקישו M-x repl s<Return>changed<Return>altered<Return>‎.
601
602 שימו לב שהמילה "changed" בשורה זו שתנתה: זה עתה החלפתם את
603 המילה c-h-a-n-g-e-d במילה "altered" בכל מקום בו היא נמצאת אחרי
604 הסמן.
605
606
607 * שמירה אוטומטית
608 ----------------
609
610 שינויים שערכתם בקובץ אבל טרם שמרתם עלולים ללכת לאיבוד אם המחשב שלכם
611 נתקע. על־מנת להגן עליכם מפני סכנה זו, Emacs שומר לעתים מזומנות כל קובץ
612 שנמצא בעריכה. השמירה האוטומטית הזאת נעשית לקובץ נפרד ששמו מתחיל
613 ומסתיים בתו #. לדוגמא, אם הינכם עורכים קובץ בשם "hello.c", קובץ השמירה
614 האוטומטית שיווצר עבורו ייקרא "#hello.c#". שמירה רגילה של הקובץ על ידכם
615 מוחקת את קובץ השמירה האוטומטית.
616
617 אם המחשב אכן נתקע, תוכלו לנציל את השינויים שלא הספקתם לשמור. לשם כך,
618 יש לפתוח את הקובץ כרגיל (את הקובץ בשמו המקורי, לא את קובץ השמירה
619 האוטומטית), ואחר־כך להקיש M-x recover-file <Return>‎. כש־Emacs יבקש
620 אישור, הקישו yes<Return>‎ כדי ש־Emacs ישחזר את הקובץ כפי שנשמר
621 אוטומטית.
622
623
624 * תצוגת הד
625 ----------
626
627 אם Emacs מגלה שאתם מקישים פקודה לאט, הוא מציג את שהקשתם בתחתית התצוגה,
628 באזור שנקרא "אזור תצוגת הד". אזור זה משתמש בשורה התחתונה של התצוגה.
629
630
631 * שורת סטטוס
632 ------------
633
634 השורה שמעל אזור תצוגת הד נקראת "שורת הסטטוס" (mode line). שורה זו
635 מציגה משהו כמו:
636
637 U:**- TUTORIAL.he 63% L651 (Fundamental)
638
639 שורה זו מציגה מידע חשוב לגבי מצבו של Emacs ולגבי הטקסט שנמצא בעריכה.
640
641 אתם כבר יודעים מהי משמעותו של שם הקובץ -- זהו הקובץ שפתחתם. NN%‎ מציין
642 את מיקומכם הנוכחי בתוך הטקסט, לאמור כי NN אחוזים מתכולת החוצץ קודמים
643 לטקסט המוצג כרגע בחלון. אם המוצג בחלון כולל את תחילת הטקסט, תראו שם
644 "Top" במקום "0% ". אם המוצג בחלון כולל את סוף הטקסט, תראו שם "Bot"
645 ‏(bottom). אם הטקסט כל־כך קצר שכולו מוצג בחלון, שורת הסטטוס תציג "All".
646
647 האות L והמספר שאחריה מציינים את המיקום הנוכחי בדרך אחרת: הם מראים את
648 מספר השורה שבה נמצא הסמן.
649
650 הכוכביות ליד הקצה השמאלי משמעותן כי שיניתם את הטקסט. מיד אחרי פתיחת
651 הקובץ או אחרי שמירתו החלק הזה של שורת הסטטוס אינו מציג כוכביות, אלא רק
652 מקפים.
653
654 החלק שבתוך הסוגריים אומר לכם מהo אופני העריכה (editing modes) הפעילים
655 כעת. ברירת המחדל היא Fundamental, האופן הבסיס, שבו אתם משתמשים כעת.
656 זוהי דוגמא של "אופן עריכה ראשי" (major mode).
657
658 ל־Emacs אופני עריכה ראשיים רבים ומגוונים. חלק מהם נועדו לעריכה של שפת
659 תכנות מסוימת ו/או סוג מסוים של טקסט, כגון Lisp mode, Text mode וכד'.
660 בכל רגע נתון רק אופן עיקרי אחד יכול להיות פעיל ושמו תמיד מצויין בשורת
661 הסטטוס באותו מקום בו כרגע אתם רואים "Fundamental".
662
663 כל אופן עיקרי גורם לכמה פקודות לפעול בצורה מיוחדת. למשל, ישנן פקודות
664 ליצירת הערות בתוך תוכנית, והיות וכל שפת תכנות מגדירה את הפורמט של
665 הערות בצורה אחרת, כל אופן עיקרי חייב להכניס הערות בצורה שמתאימה לשפה.
666 כל אופן עיקרי הינו למעשה שם הפקודה שבעזרתה אפשר להפעיל את אותו האופן.
667 למשל הפקודה להפעיל את האופן Fundamental הינה M-x fundamental-mode.
668
669 אם בכוונתכם לערוך טקסט בשפה אנושית כלשהי, כמו הקובץ הזה, כדאי לכם
670 להשתמש ב־Text mode.
671
672 >> הקישו M-x text-mode <Return>‎.
673
674 אל דאגה: אף אחת מפקודות Emacs שלמדתם עד כה משנה את התנהגותה באופן
675 מהותי. עם זאת, שימו לב ש־M-f ו־M-b מתייחסים עכשיו ל־'גרש' כחלק מהמילה.
676 לפני־כן, ב־Fundamental mode, ‏M-f ו־M-b התנהגו עם הגרש כמפריד בין
677 מילים.
678
679 אופנים ראשיים בדרך־כלל משנים קלות את התנהגות הפקודות: רוב הפקודות
680 עדיין "עושות אותה עבודה" בכל האופנים הראשיים, אבל עושות אותה קצת אחרת.
681
682 לצפיה בתיעוד של האופן הראשי הנוכחי יש להקיש C-h m.
683
684 >> הקישו C-l C-l כדי להביא שורה זו לראשית התצוגה.
685 >> עתה הקישו C-h m כדי לראות במה Text mode שונה מה־Fundamental mode.
686 >> לבסוף, הקישו C-x 1 כדי לסלק את התיעוד מהתצוגה.
687
688 אופנים ראשיים נקראים כך משום שקיימים גם אופני־משנה (minor modes).
689 אופני משנה אינם מהווים חלופה לאופנים הראשיים, הם רק משנים אותם במקצת.
690 כל אופן־משנה ניתן להפעלה או ביטול ללא תלות בכל שאר אופני המשנה וללא
691 תלות באופן הראשי הנוכחי. לכן תוכלו להפעיל אופן־משנה אחד או יותר, או אף
692 אופן־משנה.
693
694 אחד מאופני־המשנה השימושיים ביותר, במיוחד לשם עריכת טקס בשפת־אנוש, הוא
695 Auto Fill mode. כאשר אופן זה מופעל, Emacs אוטומטית פותח שורה חדשה
696 בסיום מילה אם הטקסט שהקשתם ארוך מדי בשביל שורה אחת.
697
698 להפעלת Auto Fill mode יש להקיש M-x auto-fill-mode <Return>‎. כאשר אופן
699 זה מופעל, ניתן לבטלו ע"י M-x auto-fill-mode <Return>‎. זאת אומרת, פקודה
700 זו מפעילה את האופן כשאינו פעיל ומבטלת אותו כשהוא פעיל. לפעולה זו
701 קוראים "מיתוג" -- הפקודה "ממתגת" את האופן.
702
703 >> הקישו עתה M-x auto-fill-mode <Return>‎. אחר־כך הקישו "שדגכ " (עם
704 הרווח בסוף) שוב ושוב עד שתיפתח שורה חדשה. הרווחים חשובים משום
705 ש־Auto Fill mode שובר שורות אך ורק ברווח שבין המלים.
706
707 השוליים (margin) ש־Emacs שומר בדרך־כלל מתחילים אחרי 70 תווים, אבל ניתן
708 לשנות הגדרה זו בעזרת הפקודה C-x f. פקודה זו מקבלת את ההגדרה החדשה של
709 השוליים כארגומנט נומרי.
710
711 >> הקישו C-x f עם ארגומנט של 20. (C-u 2 0 C-x f). אחר־כך הקישו טקסט
712 כלשהו ושימו לב ש־Emacs פותח שורות חדשות אחרי 20 תווים לכל היותר.
713 לבסוף, החזירו את הגדרת השוליים ל־70 ע"י שימוש חוזר ב־C-x f.
714
715 אם ערכתם שינויים באמצע פסקה, Auto Fill mode לא ימלא שורות מחדש באופן
716 אוטומטי.
717 כדי למלא מחדש את כל הפסקה הקישו M-q ‏(META-q) כשהסמן נמצא בתוך
718 הפסקה.
719
720 >> הניעו את הסמן לתוך הפסקה הקודמת והקישו M-q.
721
722
723 * חיפוש
724 -------
725
726 ‏Emacs יכול לחפש מחרוזות (רצף של תווים) קדימה או אחורה בתוך הטקסט.
727 חיפוש של מחרוזת הוא סוג של פקודה להנעת הסמן: הוא ממקם את הסמן היכן
728 שנמצאה המחרוזת הבאה.
729
730 החיפוש של Emacs הינו "מצטבר" ("incremental"). פירוש הדבר הוא שהחיפוש
731 מתבצע במקביל להקשתכם את המחרוזת אותה ברצונכם למצוא.
732
733 הפקודה להתחיל בחיפוש היא C-s לחיפוש קדימה ו־C-r לחיפוש אחורה. חכו! אל
734 תפעילו אותן עדיין.
735
736 כשתקישו C-s, תראו שבאזור תצוגת ההד יופיע הטקסט "I-search". זה אומר
737 ש־Emacs נמצא במצב "חיפוש מצטבר" ("incremental search") והוא ממתין
738 להקשתכם את המחרוזת אותה ברצונכם למצוא. הקשה על <Return> מסיימת את
739 החיפוש.
740
741 >> הקישו עתה C-s כדי להתחיל בחיפוש. לאט־לאט, אות־אות, הקישו את המילה
742 "סמן", עם הפסקה אחרי כל אות, ושימו לב להתנהגות הסמן.
743 זה עתה מצאתם את המילה "סמן" פעם אחת.
744 >> הקישו C-s שוב, כדי למצוא את "סמן" במקומות נוספים בטקסט.
745 >> הקישו <DEL> שלוש פעמים ושימו לב לתנועת הסמן בכל הקשה.
746 >> הקישו <Return> לסיום החיפוש.
747
748 האם שמתם לב למה שקרה? במהלך "חיפוש מצטבר" Emacs מנסה למצוא את המקום
749 הבא בו מופיעה המחרוזת שהקשתם. כדי למצוא את המחרוזת במקום הבא, פשוט
750 הקישו C-s פעם נוספת. אם המחרוזת אינה נמצאת בהמשך הטקסט, Emacs מצפצף
751 ומודיע שהחיפוש נכנס למצב של "כשלון" ("failing"). הקשה על C-g גם היא
752 מסיימת את החיפוש.
753
754 אם במהלך החיפוש תקישו על <DEL>, החיפוש "נסוג" למצב קודם. אם הקשתם
755 <DEL> מיד אחרי C-s, הקשת <DEL> מחזירה את הסמן למקום הקודם בו נמצאה
756 המחרוזת. אם אין מקומות קודמים בהם מופיעה המחרוזת, הקשת <DEL> מוחקת את
757 התו האחרון של המחרוזת המבוקשת. למשל, נניח שהקשתם "ס" על־מנת למצוא את
758 המקום הבא בו מופיעה האות "ס". אם עכשיו תקישו "מ", הסמן יזוז למקום בו
759 נמצא "סמ". עתה הקישו <DEL>. ה־"מ" נמחק מהמחרוזת והסמן חוזר למקום בו
760 הוא מצא את "ס" לראשונה.
761
762 אם במהלך החיפוש תפעילו פקודה כלשהי ע"י הקשה על מקש תוך לחיצה על
763 CONTROL או META, החיפוש יסתיים. (כמה תווים יוצאים מכלל זה -- אלו תווים
764 מיוחדים בעת חיפוש, כדוגמת C-s ו־C-r.)
765
766 הקשה על C-s מתחילה חיפוש שמנסה למצוא את המחרוזת _אחרי_ הסמן. אם
767 ברצונכם למצוא משהו בטקסט הקודם למקום הנוכחי, הקישו C-r במקום C-s. כל
768 מה שאמרנו לגבי C-s תקף גם לגבי C-r, אלא שכיוון החיפוש מתהפך.
769
770
771 * חלונות מרובים
772 ---------------
773
774 אחת התכונות הנוחות של Emacs היא כי ניתן להציג יותר מחלון אחד על המסך
775 בו־זמנית. (הערה: Emacs משתמש במונח "frame" -- "תבנית" -- בשביל מה
776 שתוכניות אחרות מכנות "חלון". תבניות מתוארות בפסקה הבאה. תוכלו למצוא את
777 רשימת המונחים של Emacs בפרק "Glossary" של מדריך משתמש.)
778
779 >> הביאו סמן לשורה זו והקישו C-l C-l ‏(CONTROL-L ולא CONTROL-1).
780
781 >> עתה הקישו C-x 2 וכתוצאה מכך החלון יתחלק לשניים. כל אחד משני החלונות
782 מציג את השיעור הזה. הסמן נשאר בחלון העליון.
783
784 >> הקישו C-M-v כדי לגלול את החלון התחתון.
785 (אם במקלדת שלכם אין מקש META אמיתי, הקישו ‎<ESC> C-v כתחליף.)
786
787 >> הקישו C-x o ‏("o" הוא רמז ל־"other", "אחר") על־מנת להעביר את הסמן
788 לחלון התחתון.
789 >> הקישו C-v ו־M-v בחלון התחתון כדי לגלול אותו.
790 המשיכו לקרוא הוראות אלו בחלון העליון.
791
792 >> הקישו C-x o שוב לחזור לחלון העליון.
793 הסמן בחלון העליון יישאר במקום בו הוא היה לפני־כן.
794
795 תוכלו להמשיך להשתמש ב־C-x o כדי לדלג בין החלונות. "החלון הנבחר", אותו
796 חלון בו הנכם עורכים טקסט, מזוהה ע"י סמן בולט שמהבהב בזמן שאינכם
797 מקלידים. לכל החלונות האחרים מיקום סמן משלהם; אם הפעלתם את Emacs על צג
798 גרפי, מיקום הסמן בחלונות האחרים מוצג כתיבה ריקה שאינה מהבהבת.
799
800 הפקודה C-M-v נוחה מאד כאשר הינכם עורכים טקסט בחלון אחד ומשתמשים בחלון
801 אחר לייחוס. תוכלו להתקדם בחלון השני בעזרת C-M-v מבלי לעזוב את החלון
802 הנבחר.
803
804 ‏C-M-v היא דוגמא אחת של פקודת CONTROL-META. אם במקלדת שלכם קיים מקש
805 META (או Alt) אמיתי, תוכלו להקיש את הפקודה ע"י לחיצה והחזקה של מקשי
806 CONTROL ו־META גם יחד ואז להקיש v. הסדר שבו תלחצו על CONTROL ו־META
807 אינו משנה כי שני המקשים הללו פועלים ע"י שינוי התו המוקש יחד איתם.
808
809 אם אין במקלדת מקש META אמיתי ואתם משתמשים ב־<ESC> כתחליף, הסדר כן
810 משנה: חייבים להקיש <ESC> ורק לאחר מכן CONTROL-v, וזאת משום
811 ש־CONTROL-<ESC> v לא יעבוד. <ESC> הוא תו בזכות עצמו, שלא כמו CONTROL
812 או META.
813
814 >> הקישו C-x 1 (בחלון העליון) כדי לסלק את החלון התחתון.
815
816 (אילו הקשתם C-x 1 בחלון התחתון, הייתם מסלקים את החלון העליון. תוכלו
817 לחשוב על פקודה זו כ־"השאר רק חלון אחד -- החלון בו אני נמצא עתה".)
818
819 אין חובה להציג את אותו החוצץ בשני החלונות. תוכלו להשתמש ב־C-x C-f
820 לפתיחת קובץ באחד החלונות -- דבר זה אינו משפיע על החלון השני. אפשר גם
821 לפתוח קבצים שונים בכל אחד משני החלונות באופן בלתי־תלוי.
822
823 הנה עוד שיטה להשתמש בשני חלונות להצגה של שני דברים שונים:
824
825 >> הקישו C-x 4 C-f ואחר־כך הקישו שם של אחד הקבצים שלכם.
826 סיימו עם <Return>. שימו לב שהקובץ המבוקש מוצג בחלון התחתון. הסמן
827 מדלג לשם אף הוא.
828
829 >> הקישו C-x o לעבור לחלון העליון ואחר־כך הקישו C-x 1 כדי לסלק את
830 החלון התחתון.
831
832
833 * תבניות מרובות
834 ---------------
835
836 ‏Emacs מסוגל לפתוח מספר "תבניות" ("frames"). תבנית כוללת קבוצת חלונות,
837 תפריט, פסי גלילה, אזור תצוגת הד וכו'. על צג גרפי מה שאנו קוראים
838 "תבנית" נקרא בדרך־כלל "חלון". ניתן להציג תבניות אחדות על אותו צג גרפי
839 בו־זמנית על צג טקסטואלי אפשר להציג רק תבנית אחת בכל עת.
840
841 >> הקישו M-x make-frame <Return>‎.
842 כתוצאה, תבנית חדשה תופיע על המסך.
843
844 כל מה שעשיתם בתבנית המקורית ניתן לעשות גם בתבנית החדשה. התבנית הראשונה
845 אין בה שום דבר מיוחד.
846
847 >> הקישו M-x delete-frame <Return>‎.
848 התבנית שבה הקשתם את הפקודה תיסגר ותיעלם מהמסך.
849
850 כמו־כן, ניתן לסגור תבנית בדרך הרגילה הנתמכת ע"י התצוגה הגרפית של
851 המערכת שלכם (בדרך־כלל, ע"י הקלקה על הכפתור המסומן ב־"X" בפינה עליונה
852 של התבנית.) שום מידע אינו הולך לעיבוד כאשר סוגרים תבנית (או חלון).
853 המידע הזה פשוט יורד מהתצוגה, אבל ניתן לאחזרו מאוחר יותר.
854
855
856 * רמות עריכה רקורסיביות
857 -----------------------
858
859 יתכן ותיקלעו למצב שקרוי "רמת עריכה רקורסיבית". Emacs מציין זאת ע"י
860 סוגריים מרובעים בשורת הסטטוס מסביב לשם האופן הראשי. למשל, יוצג שם
861 [(Fundamental)] במקום (Fundamental).
862
863 כדי להחלץ מרמת עריכה רקורסיבית יש להקיש <ESC> <ESC> <ESC>. זוהי פקודה
864 כללית של "הימלטות". ניתן להשתמש בה גם כדי לסלק חלונות מיותרים וליציאה
865 מתוך מיני־חוצץ.
866
867 >> הקישו M-x כדי להיכנס למיני־חוצץ; אחר־כך הקישו <ESC> <ESC> <ESC> כדי
868 להיחלץ משם.
869
870 הקשה על C-g לא תחלץ אתכם מרמות עריכה רקורסיביות. זאת, משום ש־C-g מבטל
871 פקודות וארגומנטים _במסגרת_ הרמה הרקורסיבית, מבלי לצאת ממנה.
872
873
874 * לקבלת עזרה נוספת
875 ------------------
876
877 בשיעור הראשון הזה השתדלנו לתת בידיכם מידע שאך יספיק להתחלת השימוש שלכם
878 ב־Emacs. ‏Emacs מכיל כל־כך הרבה שאין שום אפשרות לתאר ולהסביר כאן את
879 הכל. אולם, סביר שתרצו ללמוד יותר על Emacs שכן יש בו עוד הרבה תכונות
880 שימושיות. Emacs כולל פקודות לשם קריאת תיעוד על הפקודות של Emacs.
881 הפעלת פקודות "עזרה" אלו תמיד מתחילה במקש CONTROL-h שעל־כן נקרא "מקש
882 עזרה" ("help").
883
884 להפעלת פקודות עזרה יש להקיש את C-h ואחר־כך עוד תו שמבקש עזרה מסוג
885 מסויים. אם אתם _באמת_ אבודים, הקישו C-h ?‎ ו־Emacs יציג את סוגי העזרה
886 שהוא מעמיד לרשותכם. אם הקשתם C-h ובסופו של דבר החלטתם שאין צורך בשום
887 עזרה, פשוט הקישו C-g לבטל את הפקודה.
888
889 (אם הקשת C-h אינה מציגה בתחתית התצוגה הודעה בדבר עזרה, נסו להקיש F1 או
890 M-x help <Return>‎ כתחליף.)
891
892 סוג העזרה הבסיס ביותר הוא C-h c. הקישו C-h, אחריו את האות c ואז הקישו
893 סדרת מקשים שמפעילה פקודה כלשהי. Emacs יציג תיאור מאד קצר של הפקודה
894 ההיא.
895
896 >> הקישו C-h c C-p.
897
898 התוצאה שתוצג צריכה להיות משהו כמו זה:
899
900 C-p runs the command previous-line
901
902 ההודעה הזו מראה את "שם הפונקציה". היות ושמות הפונקציות נבחרים כדי
903 לציין מה הן עושות, השמות עשויים לשמש כתיעוד מקוצר -- מספיק כדי להזכיר
904 לכם את הפקודות שלמדתם בעבר.
905
906 ניתן לציין אחרי C-h c גם פקודות שמופעלות ע"י סדרת מקשים באורך גדול
907 מאחד, כגון C-x C-s או (אם אין מקש META או EDIT או ALT) ‏‎<ESC> v.
908
909 לקבלת מידע מפורט יותר על פקודה, השתמשו בפקודה C-h k במקום C-h c.
910
911 >> הקישו C-h k C-p.
912
913 כתוצאה, יוצגו השם והתיעוד של הפונקציה בחלון Emacs נפרד. כשתסיימו לקרוא
914 את התיעוד, הקישו C-x 1 כדי לסלק את חלון העזרה. לא חייבים לעשות זאת
915 מיד. אפשר לבצע קצת עריכה תוך שימוש בתיעוד המוצג ורק אחר־כך להקיש C-x 1.
916
917 הנה עוד כמה פקודות עזרה שימושיות:
918
919 ‏C-h f תן הסבר על פונקציה. יש להקיש את שם הפונקציה.
920
921 >> נסו להקיש C-h f previous-line <Return>‎.
922 כתוצאה, יוצג תיעוד מלא של הפונקציה המממשת את הפקודה C-p כפי שהוא
923 ידוע ל־Emacs.
924
925 פקודה דומה C-h v מציגה תיעוד של משתנה, כולל אלו שאת הערכים שלהם ניתן
926 לשנות כדי לקסטם את Emacs. יש להקיש את שם המשתנה כאשר Emacs יבקש זאת.
927
928 ‏C-h a פקודות בנוגע לנושא מסויים. הקישו מילת מפתח ו־Emacs
929 יציג את רשימת הפקודות ששמותיהן מכילות את מילת המפתח.
930 כל הפקודות הללו ניתנות להפעלה ע"י META-x. עבור חלק
931 מהפקודות תוצג גם סדרת מקשים שמפעילה את הפקודה.
932
933 >> הקישו C-h a file <Return>‎.
934
935 כתוצאה מזה, יוצג חלון עם רשימה של כל הפקודות ששמותיהן מכילות את המילה
936 "file". ביניהן תראו גם מקשי קיצור כגון C-x C-f לצד שמות הפקודות כגון
937 find-file.
938
939 >> הקישו C-M-v כדי לגלול את חלון העזרה. עשו זאת פעמים אחדות.
940
941 >> עתה הקישו C-x 1 כדי לסגור את חלון העזרה.
942
943 ‏C-h i הצג מדריכים למשתמש הכלולים בחבילת Emacs. (פקודה זו
944 ידועה גם בשם "Info".) פקודה זאת פותחת חוצץ מיוחד הקרוי
945 "*info*" שבו תוכלו לקרוא מדריכים המותקנים במערכת שלכם.
946 הקישו m emacs <Return>‎ כדי לקרוא במדריך למשתמשי Emacs.
947 אם אינכם מכירים את Info, הקישו ? ו־Emacs יקח אתכם
948 לשיעור על התכונות של Info mode. כשתסיימו עם השיעור
949 הזה, אנו בהחלט ממליצים להשתמש במדריך Emacs בתור התיעוד
950 העיקרי שלכם.
951
952
953 * עוד תכונות
954 ------------
955
956 תוכלו ללמוד עוד על־אודות Emacs ע"י קריאה במדריך למשתמש שלו, אם כספר
957 מודפס או בגירסה מקוונת בתוך Emacs עצמו. (תוכלו להגיע אל המדריך דרך
958 תפריט Help או ע"י הקשה על C-h r.) אולם שתי תכונות שבוודאי ימצאו חן
959 בעיניכם הן השלמה אשר חוסכת הקשות, ו־dired שמאפשרת טיפול נוח בקבצים.
960
961 השלמה היא דרך להימנע מהקשות מיותרות. למשל, אם ברצונכם לעבור לחוצץ
962 *Messages*, תוכלו להקיש C-x b *M<Tab>‎ ו־Emacs ישלים את שאר האותיות של
963 שם החוצץ ככל שניתן להסיק ממה שהקשתם. השלמה פועלת גם על שמות הפקודות
964 ושמות קבצים. תכונת ההשלמה מתוארת במלואה במדריך למשתמש Emacs בצומת
965 (node) בשם "Completion".
966
967 ‏Dired מאפשר להציג רשימת קבצים בתיקיה (וכאפציה גם בתת־תיקיות שלה), לנוע
968 בתוך הרשימה הזו, לפתוח קבצים, לשנות את שמותיהם, למחוק אותם ולבצע עליהם
969 עוד פעולות רבות. Dired מתואר במלואו במדריך למשתמש בצומת בשם "Dired".
970
971 בנוסף, מדריך למשתמש מתאר עוד הרבה מאד תכונות של Emacs.
972
973
974 * לסיום
975 -------
976
977 כדי לצאת מ־Emacs יש להקיש C-x C-c.
978
979 שיעור זה נכתב כדי להיות מובן לכל המשתמשים החדשים, לכן אם מצאתם שמשהו
980 כאן אינו ברור, אל תשבו ותאשימו את עצמכם -- תתלוננו!
981
982
983 * זכויות שימוש
984 --------------
985
986 שיעור זה הינו צאצא של שורה ארוכה של שיעורים בשימוש ב־Emacs, החל מהגרסה
987 הראשונה שנכתבה ע"י Stuart Cracraft עבור גירסת ה־Emacs המקורית.
988
989 גירסה זו של השיעור הינה חלק מחבילת GNU Emacs. היא מוגנת בזכויות יוצרים
990 וניתנת להעתקה והפצת עותקים בתנאים מסויימים כדלקמן:
991
992 Copyright (C) 2010-2013 Free Software Foundation, Inc.
993
994 ‏GNU Emacs הינו תכנה חפשית; זכותכם להפיצו ו\או לשנותו בכפוף לתנאי
995 הרשיון GNU General Public License, כפי שהוא יוצא לאור ע"י Free
996 Software Foundation, אם בגרסא 3 של הרשיון, ואם (כאופציה השמורה לכם)
997 בכל גרסא מאוחרת יותר.
998
999 ‏GNU Emacs מופץ מתוך תקווה שהוא יביא תועלת, אולם ללא כל כתב אחריות;
1000 אפילו לא אחריות־במשתמע של סחירות או התאמה לאיזו תכלית מסוימת. לפרטים,
1001 אנא עיינו ב־GNU General Public License.
1002
1003 ‏GNU Emacs אמור להיות מלווה בעותק של GNU General Public License; אם לא
1004 קיבלתם אותו, תוכלו למצוא אותו ב־‪<http://www.gnu.org/licenses/>‬.
1005
1006 הנכם מוזמנים לקרוא את הקובץ COPYING ואז אכן לחלק עותקים של GNU Emacs
1007 לחבריכם. עזרו לנו לחסל את "הבעלות" על תוכנה שאינה אלא חבלה בתוכנה,
1008 וזאת ע"י שימוש, כתיבה ושיתוף של תוכנה חופשית!
1009
1010
1011
1012 --- end of TUTORIAL.he ---
1013
1014 ;;; Local Variables:
1015 ;;; coding: utf-8
1016 ;;; bidi-display-reordering: t
1017 ;;; sentence-end-double-space: nil
1018 ;;; bidi-paragraph-direction: nil
1019 ;;; End: