mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-29 07:58:28 +00:00
800602b383
* etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
1029 lines
64 KiB
Plaintext
1029 lines
64 KiB
Plaintext
שיעור ראשון בשימוש ב־Emacs. זכויות שימוש ראה בסוף המסמך.
|
||
|
||
פקודות רבות של Emacs משתמשות במקש CONTROL (לפעמים הוא מסומן ב־CTRL או CTL)
|
||
או במקש META (לפעמים מסומן EDIT או ALT). במקום לציין את כל השמות האפשריים
|
||
בכל פעם, נשתמש בקיצורים הבאים:
|
||
|
||
<תו>-C משמעותו לחץ והחזק מקש CONTROL ואז הקש על מקש <תו>.
|
||
לדוגמא, C-f משמעותו: לחץ והחזק CONTROL והקש על f.
|
||
<תו>-M משמעותו לחץ והחזק מקש META או EDIT או ALT ואז הקש על מקש <תו>.
|
||
אם במקלדת אין אף אחד ממקשי META או EDIT או ALT, אפשר להקיש
|
||
ולשחרר מקש ESC ואז להקיש <תו>. אנו נכתוב <ESC> עבור מקש ESC.
|
||
|
||
הערה חשובה: כדי לצאת מ־Emacs יש להקיש C-x C-c (שני תוים, משמאל לימין).
|
||
כדי להפסיק פקודה באמצע ההקשה, יש להקיש C-g.
|
||
כדי להפסיק שיעור זה, יש להקיש C-x k, ואז <Return> בתשובה לשאלה.
|
||
המחרוזת ">>" בקצה הימני מסמנת הוראות עבורכם כדי לנסות להשתמש בפקודה כלשהי.
|
||
לדוגמה:
|
||
<<שורות ריקות תתווספנה סביב השורה הבאה ע״י help-with-tutorial>>
|
||
[אמצע העמוד הושאר ריק למטרות לימודיות. הטקסט ממשיך להלן]
|
||
>> הקישו עתה C-v (הצג העמוד הבא) על־מנת להתקדם לעמוד הבא. (קדימה, נסו
|
||
זאת ע״י לחיצה והחזקה של מקש CONTROL והקשה על v.)
|
||
מעתה והלאה, עליכם לעשות זאת בכל פעם שתסיימו לקרוא את המוצג על המסך.
|
||
|
||
שימו לב לחפיפה של שתי שורות כאשר אתם עוברים ממסך למשך, מה שמבטיח רציפות
|
||
מסוימת בעת קריאת הטקסט.
|
||
|
||
דבר ראשון שעליכם ללמוד הוא כיצד לנוע ממקום אחד למשנהו בתוך הטקסט. אתם
|
||
כבר יודעים כיצד להתקדם לעמוד הבא, עם C-v. לחזרה לעמוד הקודם הקישו M-v
|
||
(החזיקו מקש META והקישו v או הקישו <ESC>v אם אין במקלדת מקש META
|
||
או EDIT או ALT).
|
||
|
||
>> נסו עתה כמה פעמים להקיש M-v ואחר־כך C-v.
|
||
|
||
|
||
* סיכום עד כאן
|
||
--------------
|
||
|
||
לשם תנועה בעמודים שלמים וצפייה בהם, השתמשו בפקודות הבאות:
|
||
|
||
C-v התקדם לעמוד הבא
|
||
M-v חזור לעמוד הקודם
|
||
C-l נקה תצוגה והצג מחדש את הטקסט,
|
||
כך שהטקסט ליד הסמן יימצא במרכז התצוגה
|
||
(שימו לב: CONTROL-L ולא CONTROL-1.)
|
||
|
||
>> מצאו את הסמן על־גבי התצוגה וזכרו את הטקסט לידו. לאחר מכן הקישו C-l.
|
||
מצאו את הסמן שנית ושימו לב שהוא עדיין ליד אותו הטקסט, אבל עכשיו
|
||
הוא במרכז התצוגה.
|
||
אם תקישו C-l שוב, קטע הטקסט הזה יזוז לקצה העליון של התצוגה. הקישו
|
||
C-l שוב והוא יזוז לתחתית התצוגה.
|
||
|
||
גם מקשי PageUp ו־PageDn, אם הם קיימים במקלדת שלכם, יכולים לשמש לתנועה
|
||
בעמודים שלמים, אולם השימוש ב־C-v ו־M-v יעיל יותר.
|
||
|
||
* תנועת סמן בסיסית
|
||
------------------
|
||
|
||
תנועה בעמודים שלמים הינה שימושית, אבל כיצד ניתן להגיע למקום ספציפי
|
||
בתוך הטקסט שעל־גבי התצוגה?
|
||
|
||
ניתן לעשות זאת בכמה דרכים. אפשר למשל להשתמש במקשי החצים, אולם יהיה
|
||
זה יעיל יותר אם תחזיקו את הידיים מעל החלק הסטנדרטי של המקלדת ותשתמשו
|
||
בפקודות C-p, C-b, C-f ו־C-n. פקודות אלו שוות ערך לארבעת מקשי החצים,
|
||
כדלקמן:
|
||
|
||
שורה קודמת, C-p
|
||
:
|
||
:
|
||
קדימה, C-f ... מיקום סמן נוכחי ... אחורה, C-b
|
||
:
|
||
:
|
||
השורה הבאה, C-n
|
||
|
||
>> השתמשו במקשי C-n ו־C-p על־מנת להגיע לשורה האמצעית של הדיאגרמה.
|
||
הקישו C-l כדי למרכז את הדיאגרמה על־גבי התצוגה.
|
||
|
||
קל יותר לזכור את המקשים הללו באמצעות המלים שהם מייצגים:
|
||
P מ־previous (קודם), N מ־Next (הבא), B מ־Backward (אחורה)
|
||
ו־F מ־Forward (קדימה). מקשי התנועה הבסיסיים הללו ישמשו אתכם כל הזמן.
|
||
|
||
>> הקישו C-n כמה פעמים כדי למקם את הסמן בשורה זו.
|
||
|
||
>> הניעו את הסמן בתוך השורה עם C-f ואחר־כך למעלה עם C-p.
|
||
שימו לב מה עושה C-p כאשר הסמן נמצא באמצע השורה.
|
||
|
||
כל שורה של טקטס מסתיימת בתו מיוחד הנקרא Newline. תו זה מפריד בין
|
||
השורה לזו שאחריה. (בדרך כלל, השורה האחרונה בקובץ תסתיים אף היא
|
||
ב־Newline, אך Emacs אינו זקוק לכך.)
|
||
|
||
>> נסו C-b בתחילת שורה. הוא יגרום לסמן לנוע לסוף השורה הקודמת. זאת,
|
||
משום שהוא נע אחורה וחולף על־פני תו ה־Newline.
|
||
|
||
גם C-f יכול לחלוף על־פני Newline, בדיוק כמו C-b.
|
||
|
||
>> הקישו C-b עוד כמה פעמים כדי לקבל הרגשה היכן נמצא הסמן.
|
||
עתה הקישו C-f מספר פעמים הדרוש לשוב לסוף השורה. ואז הקישו
|
||
C-f עוד פעם אחת כדי לנוע לתחילת השורה הבאה.
|
||
|
||
כשהסמן יוצא מגבולות הטקסט המוצג, חלקי הטקסט מעבר לחלק המוצג נכנסים
|
||
לתצוגה. לזה קוראים "גלילה". גלילה מאפשרת ל־Emacs להניע את הסמן למקום
|
||
כלשהו בטקסט מבלי שהסמן ייעלם מהתצוגה.
|
||
|
||
>> נסו להניע את הסמן אל מחוץ לתצוגה ע״י הקשת C-n ושימו לב למה שקורה.
|
||
|
||
אם תנועה תו־תו איטית מדי, תוכלו לנוע מילים שלמות. M-f (META-f) מזיז
|
||
את הסמן מילה אחת קדימה ואילו M-b זז מילה אחורה.
|
||
|
||
>> הקישו M-f ו־M-b מספר פעמים.
|
||
|
||
אם הסמן נמצא באמצע מילה, M-f זז לסוף המילה. אם הסמן נמצא בין שתי מלים,
|
||
M-f עובר את המילה הבאה ונעצר בסופה. M-b פועל באופן דומה בכיוון הפוך.
|
||
|
||
>> הקישו עתה M-f ו־M-b פעמים אחדות, וגם C-f ו־C-b פה ושם כדי שתוכלו
|
||
להתרשם מהתוצאה של M-f ו־M-b במקומות שונים בתוך ובין המלים.
|
||
|
||
שימו לב להקבלה שבין C-f ו־C-b מצד אחד ו־M-f ו־M-b מהצד השני. לעתים
|
||
קרובות מאד מקשים עם META משמשים לפעולות הקשורות ליחידות של שפה (מלים,
|
||
משפטים, פסקאות) ואילו מקשים עם CONTROL פועלים על יחידות בסיסיות שאינן
|
||
תלויות בסוג הטקסט שהינכך עורכים (תוים, שורות, וכד').
|
||
|
||
ההקבלה הזאת קיימת גם לגבי שורות ומשפטים: C-a ו־C-e נעים לתחילת השורה
|
||
וסופה, בהתאמה, ואילו M-a ו־M-e נעים לתחילת המשפט וסופו.
|
||
|
||
>> נסו עתה שתי הקשות על C-a ואחר־כך שתי הקשות על C-e.
|
||
נסו שני M-a ואחר־כך שני M-e.
|
||
|
||
שימו לב שחזרה על C-a אינה עושה דבר, ואילו כל הקשה חוזרת על M-a מניעה
|
||
את הסמן במשפט נוסף. אמנם אין כאן אנלוגיה מושלמת, אבל התוצאה נראית
|
||
טבעית בשני המקרים.
|
||
|
||
מקום הסמן בתוך הטקסט נקרא "point" ("נקודה"). במלים אחרות, הסמן מראה
|
||
את מיקומו של "point" בתוך הטקסט.
|
||
|
||
הנה סיכום של פקודות פשוטות להנעת הסמן, כולל פקודות שנעות במלים
|
||
ומשפטים שלמים:
|
||
|
||
C-f נוע תו אחד קדימה
|
||
C-b נוע תו אחד אחורה
|
||
|
||
M-f נוע מילה קדימה
|
||
M-b נוע מילה אחורה
|
||
|
||
C-n נוע לשורה הבאה
|
||
C-p נוע לשורה הקודמת
|
||
|
||
C-a נוע לתחילת השורה
|
||
C-e נוע לסוף השורה
|
||
|
||
M-a נוע קדימה לסוף המשפט
|
||
M-e נוע אחורה לתחילת המשפט
|
||
|
||
>> נסו את כל הפקודות הללו מספר פעמים, לשם תרגול.
|
||
אלו הן הפקודות הנפוצות ביותר.
|
||
|
||
שתי פקודות תנועה חשובות אחרת הן M-< (META פחות), אשר נעה לתחילת
|
||
הטקסט, ו־M-> (META יותר), אשר נעה לסוף הטקסט.
|
||
|
||
ברוב המקלדות המקש ">" נמצא מעל הפסיק, לכן כדי להקישו יש צורך ללחוץ
|
||
ולהחזיק מקש Shift. באופן דומה יש ללחוץ על Shift כדי להקיש M-< כי
|
||
אחרת היה יוצא M-פסיק.
|
||
|
||
>> נסו עתה M-< כדי להגיע לתחילת השיעור.
|
||
אחר־כך הקישו C-v מספר פעמים, עד שתגיעו לכאן.
|
||
|
||
>> עכשיו נסו M-> כדי להגיע לסוף השיעור.
|
||
לאחר מכן הקישו M-v כמה פעמים כדי לחזור לכאן.
|
||
|
||
ניתן להזיז את הסמן גם בעזרת מקשי החצים, אם הם קיימים במקלדת שלכם.
|
||
אבל אנחנו ממליצים ללמוד להשתמש ב־C-b, C-f, C-n ו־C-p משלוש סיבות.
|
||
קודם כל, הם יעבדו עם כל מקלדת. שנית, כשתתרגלו לעבוד עם Emacs, תראו
|
||
כי השימוש במקשים אלו מהיר יותר מהשימוש בחצים (מכיון שאין צורך להזיז
|
||
את היד מהחלק העיקרי של המקלדת). ושלישית, כשהמקשים הללו יהפכו להרגל,
|
||
יהיה לכם קל יותר ללמוד פקודות מתקדמות יותר של תנועת הסמן.
|
||
|
||
רוב הפקודות של Emacs מקבלות ארגומנט נומרי; עבור רוב הפקודות הארגומנט
|
||
משמש כמונה של מספר החזרות על הפקודה. כדי לספק ארגומנט לפקודה, יש להקיש
|
||
C-u ואחר־כך ספרות, וזאת לפני שמקישים את הפקודה עצמה. עם במקלדת קיים
|
||
מקש META (או EDIT או ALT), יש גם אפשרות אחרת לציין ארגומנט נומרי:
|
||
הקישו את הספרות תוך כדי החזקת מקש META. אנו ממליצים על C-u משום שהוא
|
||
יעבוד עם כל מקלדת. הארגומנט הנומרי נקרא גם "ארגומנט קידומת" (prefix
|
||
argument) משום מקישים אותו לפני הפקודה אליה הוא מתייחס.
|
||
|
||
למשל, C-u 8 C-f מניע את הסמן 8 תוים קדימה.
|
||
|
||
>> נסו להקיש C-n או C-p עם ארגומנט נומרי, כדי להזיז את הסמן אל שורה
|
||
מסוימת בפקודה אחת בלבד.
|
||
|
||
רוב הפקודות מפרשות את הארגומנט הנומרי כמונה חזרות, אבל פקודות מסוימות
|
||
משתמשות בו בצורות אחרות. כמה פקודות (אבל אף אחת מבין אלו שלמדנו עד כה)
|
||
משתמשות בו כדגלון -- נוכחותו של הארגומנט, ללא קשר לערכו המספרי, גורמת
|
||
לפקודה להתנהג קצת אחרת.
|
||
|
||
C-v ו־M-v יוצאים מהכלל הזה באופן אחר. כשפקודות אלו מקבלות ארגומנט,
|
||
הן גוללים את התצוגה כמספר הזה של שורות, ולא בדפים. למשל, C-u 8 C-v
|
||
יגלול את התצוגה ב־8 שורות.
|
||
|
||
>> נסו עתה להקיש C-u 8 C-v.
|
||
|
||
כתוצאה, התצוגה היתה צריכה לזוז ב־8 שורות. אם ברצונכם לגלול בחזרה,
|
||
אפשר להשיג זאת ע״י מתן ארגומנט ל־M-v.
|
||
|
||
אם הפעלתם את Emacs על־גבי תצוגה גרפית כגון X או MS-Windows, אתם
|
||
צריכים לראות פס צר וגבוה, ששמו פס גלילה (scroll bar) בצידו של החלון
|
||
של Emacs. ניתן לגלול את הטקסט ע״י הקלקת עכבר בתוך פס הגלילה.
|
||
|
||
אם העכבר שלכם מצויד בגלגל, תוכלו להשתמש גם בו לגלילת הטקסט.
|
||
|
||
* אם Emacs מפסיק להגיב
|
||
----------------------
|
||
|
||
אם Emacs מפסיק להגיב לפקודות, תוכלו להפסיק אותו בבטחה ע״י הקשת C-g.
|
||
פקודות שביצוען מתארך אף הן ניתנות להפסקה בעזרת C-g.
|
||
|
||
בנוסף, תגרום הקשת C-g לביטול הארגומנט הנומרי או תחילת הפקודה שטרם
|
||
השלמתם להקיש והתחרטתם.
|
||
|
||
>> הקישו C-u 100 כדי לציין ארגומנט של 100, ולאחר מכן C-g. עתה הקישו
|
||
C-f. הוא צריך לנוע תו אחד בלבד, שכן ביטלתם את הארגומנט בעזרת C-g.
|
||
|
||
אם הקשתם <ESC> בטעות, ניתן לבטלו בעזרת C-g.
|
||
|
||
* פקודות מנוטרלות
|
||
-----------------
|
||
|
||
מספר פקודות ב־Emacs מנוטרלות בכוונה כדי שמשתמשים מתחילים לא יפעילו
|
||
אותן בדרך מקרה.
|
||
|
||
אם תקישו את אחת הפקודות הללו, Emacs יציג הודעה המתארת את הפקודה וישאל
|
||
אם לבצע את הפקודה או לבטלה.
|
||
|
||
אם אכן בכוונתכם לנסות את הפקודה, הקישו <SPC> (מקש הרווח) בתשובה לשאלה.
|
||
בדרך כלל, אם אינכם מעוניינים לבצע את הפקודה המנוטרלת, הקישו "n" בתשובה
|
||
לשאלה הזו.
|
||
|
||
* חלונות
|
||
--------
|
||
|
||
תצוגת Emacs יכולה לכלול יותר מחלון אחד, כשכל אחד מהם מציג טקסט משלו.
|
||
מאוחר יותר נסביר כיצד להשתמש בחלונות מרובים. כעת ברצוננו להסביר כיצד
|
||
להפטר מחלונות מנותרים ולחזור לעריכה בחלון יחיד. אין דבר פשוט מזה:
|
||
|
||
C-x 1 חלון אחד בלבד (כלומר, סגור את כל החלונות האחרים).
|
||
|
||
כדי להפעיל פקודה זו, הקישו CONTROL-x ולאחריו את הספרה 1. הפקודה C-x 1
|
||
מרחיבה את החלון המציג את הסמן כך שהוא תופס את כל שטח התצוגה. הפקודה
|
||
מבטלת את שאר החלונות.
|
||
|
||
>> הניעו את הסמן לתוך שורה זו והקישו C-u 0 C-l.
|
||
>> עתה הקישו C-h k C-f.
|
||
שימו לב כיצד החלון הנוכחי מצטמצם ומופיע חלון חדש שבו מוצג
|
||
התיעוד של הפקודה C-f.
|
||
|
||
>> הקישו C-x 1 ושימו לב שהחלון עם ההסבר על C-f נעלם.
|
||
|
||
פקודה זו שונה מכל שאר הפקודות שלמדנו עד כה בכך שהיא מכילה שני תוים.
|
||
היא מתחילה עם התו CONTROL-x. פקודות רבות מאד מתחילות ב־CONTROL-x; חלק
|
||
גדול מהן עוסקות בחלונות, קבצים, חוצצים ונושאים דומים אחרים. פקודות אלו
|
||
מכילות שנים, שלושה ואפילו ארבעה תוים.
|
||
|
||
|
||
* הכנסה ומחיקה
|
||
--------------
|
||
|
||
אם ברצונכם להכניס טקסט, פשוט הקישו על המקשים המתאימים. תוים רגילים,
|
||
כגון A, א, 7, * וכד' מיד מתווספים לטקסט הקיים. הקישו <Return> (מקש
|
||
חזרת גרר שלעתים נהוג לקרוא לו "Enter") כדי להכניס את תו השורה החדשה
|
||
(Newline).
|
||
|
||
למחיקת התו האחרון שהקשתם הקישו <DEL>. בדרך כלל זהו מקש שמסומן
|
||
ב־"Backspace", והוא משמש אתכם למחיקת התו אחרון גם בתוכניות אחרות, לא
|
||
רק ב־Emacs.
|
||
|
||
יתכן שבמקלדת שלכם קיים מקש שעליו רשום <Delete>, אך זה אינו המקש שאנו
|
||
קוראים לו <DEL>.
|
||
|
||
>> הקישו עתה מספר תוים, ואחר־כך מחקו אותם ע״י הקשות אחדות
|
||
על <DEL>. אל תחששו לשנות את הקובץ הזה -- העותק המקורי
|
||
של השיעור יישאר ללא שינוי. אתם עובדים על העותק האישי שלכם.
|
||
|
||
כאשר שורה של טקסט נעשית ארוכה משורה אחת של תצוגה, חלק מהטקסט ממשיך
|
||
בשורת תצוגה נוספת, היא "שורת ההמשך". על תצוגה גרפית יופיע חץ עקלקל קטן
|
||
באזור השוליים -- "fringe" שמסמל כי לשורה יש שורת המשך, ואילו על תצוגה
|
||
טקסטואלית יופיע תו לוכסן ('/' או '\', תלוי אם הוא בצד שמאל או בצד ימין)
|
||
לאותה תכלית, בסוף השורה.
|
||
|
||
>> הקישו טקסט עד שתגיעו לקצה השורה, ואז תמשיכו להקיש עוד טקסט.
|
||
כתוצאה, תראו שמופיעה שורת המשך.
|
||
|
||
>> עתה הקישו <DEL> על־מנת למחוק טקסט עד שהשורה תיעשה קצרה מספיק
|
||
ותתאים לשורה בודדת על־גבי התצוגה. שורת ההמשך תיעלם.
|
||
|
||
ניתן למחוק את תו ה־Newline כמו כל תו אחר. מחיקת ה־Newline בין שתי
|
||
שורות תמזג את השורות לשורה אחת. אם השורה המשולבת תהיה ארוכה מרוחב
|
||
התצוגה, היא תוצג עם שורת המשך.
|
||
|
||
>> הניעו את הסמן לתחילת השורה והקישו <DEL>. כתוצאה, השורה תתמזג
|
||
אם קודמתה.
|
||
|
||
>> עתה הקישו <Return> כדי להחזיר את ה־Newline שמחקתם.
|
||
|
||
מקש <Return> הוא מיוחד בכך שהקשה עליו עשויה לגרום יותר מהכנסת תו
|
||
ה־Newline. בתלות בטקסט מסביב יתכן כי Emacs יכניס תווי רווח או TAB אחרי
|
||
תו ה־Newline, וזאת כדי ליישר את תחילת השורה החדשה עם הטקסט בשורה
|
||
הקודמת. התנהגות זו, שבה הקשה על מקש גורמת לתוצאות מעבר להכנסה פשוטה של
|
||
התו המתאים, נקראת "חשמלית" ("electric").
|
||
|
||
זכרו כי לרוב הפקודות ב־Emacs אפשר לציין מספר חזרות. גם תוי טקסט
|
||
שייכים לקבוצת פקודות זו. חזרה על תו טקסט מכניסה אותו מספר פעמים.
|
||
|
||
>> נסו זאת עכשיו -- הקישו C-u 8 * על־מנת להכניס ********.
|
||
|
||
ובכן, למדתם את האופן הבסיסי ביותר להדפיס משהו ב־Emacs ולתקן שגיאות.
|
||
אפשר למחוק גם מלים ואף שורות שלמות. להלן סיכום פקודות המחיקה:
|
||
|
||
<DEL> מחק תו שלפני הסמן
|
||
C-d מחק תו מתחת או אחרי הסמן
|
||
|
||
M-<DEL> גזור מילה שלפני הסמן
|
||
M-d גזור מילה שאחרי הסמן
|
||
|
||
C-k גזור טקסט מהסמן ועד סוף השורה
|
||
M-k גזור טקסט עד סוף המשפט הנוכחי.
|
||
|
||
שימו לב שהיחס בין <DEL> ו־C-d לעומת M-<DEL> ו־M-d ממשיכים את ההקבלה
|
||
שבין C-f ו־M-f (אמנם <DEL> איננו תו בקרה, אבל בוא נזניח את הנקודה הזו
|
||
לעת־עתה). C-k ו־M-k דומים ל־C-e ו־M-e, אם נקביל שורות למשפטים.
|
||
|
||
בנוסף, קיימת שיטה אחידה שמאפשרת לגזור קטע כלשהו של טקסט. לשם כך, תגיעו
|
||
לקצה האחד של חלק הטקסט והקישו C-<SPC>. (<SPC> הוא מקש הרווח.) עתה
|
||
הניעו את הסמן לקצה השני של חלק הטקסט אשר ברצונכם לגזור. תוך כדי תנועת
|
||
הסמן Emacs צובע את הטקסט בין הסמן לבין המקום בו הקשתם C-<SPC>. לבסוף,
|
||
הקישו C-w. כתוצאה, כל הטקסט בין שני המקומות הללו ייגזר.
|
||
|
||
>> הניעו את הסמן אל האות ב בתחילת הפיסקה הקודמת.
|
||
>> הקישו C-<SPC>. Emacs צריך להציג הודעה האומרת "Mark set" בתחתית
|
||
התצוגה.
|
||
>> הניעו את הסמן אל האות צ בשורה השניה של הפיסקה.
|
||
>> הקישו C-w. בכך תגזרו את חלק הטקסט שמתחיל ב־ב ומסתיים לפני ה־צ.
|
||
|
||
ההבדל בין "מחיקה" ("deletion") ו־"גזירה" ("killing") הוא שהטקסט
|
||
"הגזור" ניתן לאחזור ולהכנסה (במקום כלשהוא בטקסט), ואילו טקסט "מחוק" לא
|
||
ניתן להכניס מחדש בשיטה זו. (אבל ניתן לבטל את מחיקה -- ראה להלן.) אחזור
|
||
הטקסט הגזור נקרא "הדבקה" ("yanking"). באופן כללי, פקודות אשר עלולות
|
||
להעלים כמויות גדולות של טקסט תמיד גוזרות את הטקסט (כך שניתן יהיה בקלות
|
||
לשחזרו) בעוד הפקודות שמורידות תו בודד או שורות ריקות ותוי רווח --
|
||
מוחקות (כך שלא ניתן להדביק את הטקסט שנמחק). כך, <DEL> ו־C-d מוחקים
|
||
כאשר מפעילים אותם ללא ארגומנט, אבל גוזרים כאשר מפעילים אותם עם ארגומנט.
|
||
|
||
>> הניעו את הסמן לתחילת שורה שאינה ריקה. אחר־כך הקישו C-k כדי לגזור
|
||
את כל הטקסט של אותה שורה.
|
||
>> הקישו C-k פעם נוספת. שימו לב שהוא גוזר את ה־Newline שבסוף השורה.
|
||
|
||
שימו לב ש־C-k בודד גוזר את תכולת השורה, ו־C-k נוסף גוזר גם את השורה
|
||
עצמה וגורם לשאר השורות לנוע כלפי מעלה. C-k מפרש את הארגומנט הנומרי
|
||
באופן מיוחד: הוא גוזר כמספר הזה שורות, כולל ה־Newlines שלהן. זה שונה
|
||
מסתם הפעלה חוזרת: C-u 2 C-k גוזר שתי שורות כולל ה־Newlines שלהן,
|
||
ואילו הקשה על C-k פעמיים לא עושה כן.
|
||
|
||
אחזור הטקסט שגזרנו נקרא "הדבקה" ("yanking"). (תחשבו על זה כעל שליפה
|
||
של טקסט מתהום הנשייה אליה הוא נלקח.) ניתן להדביק את הטקסט שגזרתם
|
||
באותו מקום ממנו נגזר או במקום אחר כלשהו בתוך הטקסט שאתם עורכים, או
|
||
אפילו בקובץ אחר. ניתן להדביק את אותו הטקסט מספר פעמים ובכך ליצור
|
||
עותקים מרובים ממנו. תוכניות עריכה אחרות משתמשות במונחים "cutting"
|
||
ו־"pasting" במקום "killing" ו־"yanking" (ראה את מילון המונחים בפרק
|
||
ה־"Glossary" של מדריך למשתמשי Emacs).
|
||
|
||
הפקודה להדבקה היא C-y. היא מכניסה את הטקסט הגזור במקום הנוכחי של הסמן.
|
||
|
||
>> נסו זאת: הקישו C-y כדי לאחזר טקסט שגזרתם קודם לכן.
|
||
|
||
אם תקישו C-k מספר פעמים ברצף, כל הטקסט שגזרתם בדרך זו נשמר ביחד, כך
|
||
ש־C-y בודד ידביק את כולו בבת אחת.
|
||
|
||
>> עשו זאת עתה: הקישו C-k כמה פעמים.
|
||
|
||
עכשיו לאחזור הטקסט שגזרתם:
|
||
|
||
>> הקישו C-y. אחר־כך הניעו את הסמן כמה שורות כלפי מטה והקישו C-y שוב.
|
||
כפי שראיתם, כך תוכלו להעתיק חלק מהטקסט ממקום למקום.
|
||
|
||
מה לעשות אם יש לכם טקסט להדבקה, אבל בינתיים גזרתם טקסט אחר? C-y ידביק
|
||
רק את הגזירה האחרונה. אולם הטקסט שגזרתם קודם לכן אינו הלך לאיבוד. ניתן
|
||
לאחזרו בעזרת הפקודה M-y. אחרי שהקשתם C-y שמדביק את הטקסט שגזרתם
|
||
לאחרונה, הקשה על M-y מחליפה את הטקסט המודבק בטקסט שגזרתם בפעם לפני
|
||
האחרונה. הקשה חוזרת ונשנית על M-y מביאה טקסט שגזרתם בפעמים קודמות יותר
|
||
ויותר. כשתראו שהטקסט המודבק הוא מה שרציתם להדביק, תפסיקו להקיש M-y
|
||
ותמשיכו בעריכה כרגיל. אין צורך בשום פקודה מיוחדת לשם כך.
|
||
|
||
אם תקישו M-y מספיק פעמים בזו אחר זו, תגיעו חזרה לנקודת ההתחלה (טקסט
|
||
שגזרתם לאחרונה).
|
||
|
||
>> גזרו שורה, אחר־כך תניעו את הסמן אנה ואנה, ולבסוף גזרו שורה נוספת.
|
||
הקישו C-y כדי לאחזר את השורה השניה שגזרתם.
|
||
עתה הקישו M-y והשורה שאחזרתם תוחלף בשורה הראשונה שגזרתם.
|
||
הקישו M-y מספר פעמים נוספות ושימו לב לתוצאות. המשיכו להקיש M-y
|
||
עד שהשורה השניה שגזרתם תופיע שוב, ואז תמשיכו עוד מספר פעמים.
|
||
אם תרצו, תוכלו לנסות M-y עם ארגומנט חיובי או שלילי.
|
||
|
||
|
||
* ביטול פעולות
|
||
--------------
|
||
|
||
אם שיניתם את הטקסט ואז החלטתם שהשינוי היה טעות, תוכלו לבטל את השינוי
|
||
בעזרת פקודת הביטול, C-/.
|
||
|
||
בדרך כלל,C-/ מבטל את השינויים שבוצעו ע״י פקודה אחת. הפעלה חוזרת של
|
||
C-/ ברצף מבטלת שינויים של פקודות קודמות, אחת אחרי השניה.
|
||
|
||
שני יוצאים מהכלל הזה: פקודות שאינן משנות טקסט (למשל פקודות הנעת הסמן
|
||
ופקודות גלילה) אינן נספרות ותוים שמכניסים את עצמם מקובצים בקבוצות של
|
||
עד 20, כדי להקטין את מספר הפעמים שיש להקיש C-/ כדי לבטל הכנסת טקסט.
|
||
|
||
>> גזרו שורה זו עם C-k, אחר־כך הקישו C-/ והיא תופיע שוב.
|
||
|
||
C-_ הינה דרך חלופית להפעיל את פקודת הביטול. היא פועלת בדיוק כמו C-/.
|
||
במקלדות אחדות הקשה על C-/ שולחת ל־Emacs את התו C-_. חלופה נוספת היא
|
||
C-x u, אם־כי היא פחות נוחה להקשה מספר פעמים בזו אחר זו.
|
||
|
||
ארגומנט נומרי ל־C-/ או ל־C-_ או ל־C-x u משמש כמספר החזרות על הפקודה.
|
||
|
||
ניתן לבטל מחיקה של טקסט בדיוק כמו שניתן לבטל גזירה. ההבדלים בין מחיקה
|
||
וגזירה משפיעים על יכולתכם להדביק את הטקסט הגזור עם C-y; הם אינם חשובים
|
||
לעניין הביטול.
|
||
|
||
|
||
* קבצים
|
||
-------
|
||
|
||
על־מנת שהטקסט שערכתם יישמר, יש לשים אותו בקובץ. אחרת, הוא ייעלם ברגע
|
||
שתצאו מ־Emacs. כדי לשים את הטקס בקובץ, יש "לפתוח" ("find") את הקובץ
|
||
לפני שמתחילים להקיש טקסט. (שם אחר לכך הוא "לפקוד" את הקובץ - "visit".)
|
||
|
||
פתיחת הקובץ משמעותה שתוכן הקובץ מוצג בתוך Emacs. מבחינות רבות הדבר
|
||
דומה לעריכת הקובץ עצמו. אולם, השוניים שלכם בתוך Emacs אינם הופכים חלק
|
||
מהקובץ עד שאתם "שומרים" את הקובץ. זאת, כדי להימנע מיצירת קובץ שאינו
|
||
שלם במערכת שלא כרצונכם. אפילו אם אתם שומרים את הקובץ, Emacs משאיר את
|
||
התוכן המקורי בשם שונה למקרה שמאוחר יותר תחליטו שהשינויים נעשו בטעות.
|
||
|
||
אם תביטו בחלק התחתון של התצוגה, תראו שם שורה בולטת שמתחילה במקפים וליד
|
||
הקצה השמאלי שלה כתוב "TUTORIAL.he". חלק זה של התצוגה בדרך כלל מציג את
|
||
שם הקובץ אותו אתם פוקדים. כרגע אתם פוקדים קובץ בשם "TUTORIAL.he" שהוא
|
||
עותק הטיוטה האישי שלכם של שיעור השימוש ב־Emacs. פתיחת קובץ כלשהו
|
||
ב־Emacs תציג את שמו של הקובץ במקום זה.
|
||
|
||
היבט אחד מיוחד של פתיחת קובץ הוא שיש לציין את שם הקובץ אשר ברצונכם
|
||
לפתוח. אנו אומרים שהפקודה "קוראת ארגומנט" (במקרה זה הארגומנט הוא שם
|
||
הקובץ). אחרי שתקישו את הפקודה
|
||
|
||
C-x C-f פתח קובץ
|
||
|
||
Emacs מבקש שתקישו את שם הקובץ. שם הקובץ שתקישו מופיע בשורה התחתונה של
|
||
התצוגה. שורה זו נקראת "מיני־חוצץ" ("minibuffer") כשהיא משמשת לסוג זה
|
||
של קלט. ניתן להשתמש בכל פקודות העריכה הרגילות של Emacs כשמקישים את
|
||
שם הקובץ בחוצץ זה.
|
||
|
||
אם טרם סיימתם להקיש את שם הקובץ (או כל סוג אחר של קלט במיני־חוצץ),
|
||
ניתן לבטל את הפקודה בעזרת C-g.
|
||
|
||
>> הקישו C-x C-f ואחר־כך הקישו C-g. זה מבטל את המיני־חוצץ וגם מבטל
|
||
את הפקודה C-x C-f שהשתמשה במיני־חוצץ. התוצאה היא שאף קובץ לא נפתח.
|
||
|
||
משסיימתם להקיש את שם הקובץ, הקישו <Return> לסיים את הקלט. או־אז
|
||
המיני־חוצץ נעלם והפקודה C-x C-f תיגש לעבודה ותמצא ותפתח את הקובץ
|
||
שבחרתם. כאשר פקודת ה־C-x C-f תסיים את עבודתה, תוכן הקובץ יופיע על־גבי
|
||
התצוגה ותוכלו לבצע בו שינויים. כשתחליטו לשמור את השינויים, הקישו את
|
||
הפקודה הבאה:
|
||
|
||
C-x C-s שמור את הקובץ
|
||
|
||
פקודה זו שומרת בקובץ את הטקסט המוחזק בתוך Emacs. בפעם הראשונה שתפעילו
|
||
פקודה זו, Emacs משנה את שם הקובץ המקורי לשם חדש כך שהמקור לא ילך
|
||
לאיבוד. השם החדש נוצר ע״י הוספת "~" בסוף השם המקורי של הקובץ.
|
||
|
||
כשהשמירה מסתיימת, Emacs מציג בשורה התחתונה את שם הקובץ שנשמר. נסו
|
||
לשמור לעתים מזומנות על־מנת להימנע מלאבד יותר מדי מהעבודה שלכם אם המחשב
|
||
ייפול (ראה להלן פיסקה על שמירה אוטומטית).
|
||
|
||
>> הקישו C-x C-s TUTORIAL.he ותסיימו בהקשת <Return>. כתוצאה, שיעור זה
|
||
יישמר בקובץ בשם TUTORIAL.he ובתחתית התצוגה תופיע ההודעה
|
||
"Wrote ...TUTORIAL.he".
|
||
|
||
ניתן לפתוח קובץ קיים על־מנת לצפות בו או לערוך אותו. ניתן גם לפתוח קובץ
|
||
שאינו קיים. זו הדרך ליצור קבצים חדשים בעזרת Emacs: פתחו את הקובץ
|
||
שיהיה תחילה ריק ואז התחילו להקיש טקסט לתוכו. כשתפעילו את פקודת השמירה,
|
||
Emacs ייצור את הקובץ עם הטקסט שהקשתם. מאותו רגע ואילך, תוכלו לחשוב
|
||
שהינכם עורכים קובץ קיים.
|
||
|
||
|
||
* חוצצים
|
||
--------
|
||
|
||
אם תפתחו קובץ נוסף עם C-x C-f, הקובץ הראשון עדיין נשאר פתוח ב־Emacs.
|
||
תוכלו לחזור אליו ע״י C-x C-f. כך תוכלו לפתוח מספר רב של קבצים.
|
||
|
||
Emacs מחזיק כל קובץ בתוך יישות בשם "חוצץ" ("buffer"). פתיחת קובץ יוצרת
|
||
חוצץ חדש בתוך Emacs. כדי לראות את רשימת החוצצים הקיימים בתוך Emacs,
|
||
הקישו
|
||
|
||
C-x C-b הצג רשימת כל החוצצים
|
||
|
||
>> נסו את C-x C-b בנקודה זו.
|
||
|
||
שימו לב שלכל חוצץ יש שם וכל חוצץ עשוי גם לציין את שם הקובץ שאת תוכנו
|
||
הוא מחזיק. כל טקסט שאתם מקישים בחלון Emacs תמיד יהיה חלק של חוצץ
|
||
כלשהו.
|
||
|
||
>> הקישו C-x 1 כדי להפטר מרשימת החוצצים.
|
||
|
||
כשקיימים מספר חוצצים, רק אחד מהם יכול להיות החוצץ "הנוכחי" בכל רגע
|
||
נתון. זהו החוצץ בו אתם מבצעים עריכה באותו רגע. אם ברצונכם לערוך חוצץ
|
||
אחר, עליכם "לעבור" חוצץ. עבור חוצצים שמתאימים לקבצים, ניתן לעשות זאת
|
||
ע״י C-x C-f שיפקוד את הקובץ בשנית. אבל קיימת דרך פשוטה יותר: שימוש
|
||
בפקודה C-x b. פקודה זו תחייב אותכם להקיש את שם החוצץ.
|
||
|
||
>> ניצור עתה קובץ בשם "foo" ע״י הקשת C-x C-f foo <Return>.
|
||
עתה חזרו לשיעור זה בעזרת C-x b TUTORIAL.he <Return>.
|
||
|
||
ברוב המקרים שם החוצץ זהה לשם הקובץ (ללא שם התיקיה שלו). אבל אין זה
|
||
תמיד כך. רשימת החוצצים שנוצרת ע״י C-x C-b תציג הן את שם החוצץ והן את
|
||
שם הקובץ עבור כל החוצצים הקיימים ב־Emacs.
|
||
|
||
כל טקסט שמוצג בחלון של Emacs הינו תמיד חלק של חוצץ כלשהו. קיימים
|
||
חוצצים שאינם קשורים לשום קובץ. לדוגמא, החוצץ בשם "*Buffer List*"
|
||
המחזיק את רשימת החוצצים שנוצרה ע״י C-x C-b אינו מציג שום קובץ. גם
|
||
לחוצץ הנוכחי ששמו TUTORIAL.he לא היה קובץ עד שהקשתם על C-x C-s כדי
|
||
לשמור אותו בקובץ.
|
||
|
||
חוצץ בשם "*Messages*" אף הוא אינו קשור לשום קובץ; הוא מחזיק את ההודעות
|
||
שהופיעו בשורה התחתונה במהלך עבודתכם בתוך Emacs.
|
||
|
||
>> הקישו C-x b *Messages* <Return> כדי לצפות בחוצץ של הודעות.
|
||
אחר־כך הקישו C-x b TUTORIAL.he <Return> על־מנת לחזור לשיעור זה.
|
||
|
||
אם עשיתם שינויים בטקסט של קובץ ואחר־כך פתחתם קובץ אחר, אין הדבר שומר
|
||
את השינויים שעשיתם לקובץ הראשון. השינויים הללו נשארים בתוך Emacs, בתוך
|
||
החוצץ של אותו קובץ. יצירתו ועריכתו של הקובץ הנוסף אינם משפיעים על
|
||
החוצץ של הקובץ הראשון. דבר זה הוא שימושי, אך משמעותו היא שיש צורך
|
||
בשיטה נוחה לשמור את החוצץ של הקובץ הראשון. היה זה מאד לא נוח אילו
|
||
לשם כך הייתם צריכים לעבור לחוצץ ההוא בעזרת C-x C-f ואז לשמור עם
|
||
C-x C-s. לכן קיימת פקודה
|
||
|
||
C-x s שמור חוצצים אחדים
|
||
|
||
C-x s עובר על כל החוצצים אשר מכילים שינויים שטרם נשמרו. לגבי כל חוצץ
|
||
כזה הוא שואל אתכם האם לשמור אותו או לא.
|
||
|
||
>> הכניסו שורה של טקסט ואחר־כך הקישו C-x s.
|
||
הוא צריך לשאול האם לשמור חוצץ בשם TUTORIAL.he.
|
||
השיבו בחיוב ע״י הקשה על "y".
|
||
|
||
|
||
* הרחבת אוסף הפקודות
|
||
--------------------
|
||
|
||
מספר הפקודות ב־Emacs גדול בהרבה ממה שניתן להפעיל ע״י כל תוי ה־control
|
||
וה־meta. כדי להתגבר על בעיה זו, Emacs משתמש בפקודות X המרחיבות (eXtend)
|
||
את אוסף הפקודות הרגיל. פקודות הרחבה אלו הן שתים:
|
||
|
||
C-x הרחבת תו. תו בודד שבא אחריו משלים את הפקודה.
|
||
M-x הרחבה ע״י שם הפקודה. אחריו בא שם ארוך של פקודה.
|
||
|
||
בעזרת שתי אלו ניתן להפעיל פקודות שימושיות שבהן משתמשים לעתים רחוקות
|
||
יותר מאשר פקודות שלמדתם עד עכשיו. כמה מהן כבר ראיתם: C-x C-f לפתיחת
|
||
קובץ, ו־C-x C-s לשמירת קובץ, לדוגמא. דוגמא נוספת היא פקודה לצאת
|
||
מ־Emacs -- C-x C-c. (כשאתם מפעילים C-x C-c, אל תדאגו לשינויים שטרם
|
||
נשמרו; C-x C-c מציע לשמור כל קובץ ששיניתם לפני שהוא מסיים את Emacs.)
|
||
|
||
אם אתם משתמשים בצג גרפי, אינכם זקוקים לפקודה מיוחדת כדי לעבור מ־Emacs
|
||
לתוכנית אחרת. אפשר לעשות זאת בעזרת העכבר או פקודות של מנהל החלונות.
|
||
אולם, כאשר אתם משתמשים בתצוגה טקסטואלית שמסוגלת להציג רק תוכנית אחת
|
||
בו־זמנית, תצטרכו "להשעות" ("suspend") את Emacs על־מנת לעבור לתוכנית
|
||
אחרת.
|
||
|
||
הפקודה C-z יוצאת מ־Emacs *באופן זמני* -- כך שתוכלו לשוב אליו מאוחר
|
||
יותר ולהמשיך מאותה נקודה. כאשר Emacs רץ על תצוגת טקסט, C-z "משעה" את
|
||
Emacs: הוא מחזיר אתכם לשורת הפקודות הבסיסית של מערכת ההפעלה ("shell"),
|
||
אבל אינו מסיים את Emacs. ברוב המערכות, כדי להמשיך בעבודתכם ב־Emacs,
|
||
תצטרכו להקיש את הפקודה "fg" או "%emacs".
|
||
|
||
הרגע הנכון להשתמש ב־C-x C-c הוא כאשר אתם עומדים להתנתק (log out).
|
||
כמו־כן, תצטרכו להשתמש בו כדי לצאת מ־Emacs שהופעל ע״י תוכניות אחרות
|
||
כגון קריאת דואר אלקטרוני.
|
||
|
||
קיימות פקודות C-x רבות מאד. להלן רשימת אלו שכבר למדתם:
|
||
|
||
C-x C-f פתח קובץ
|
||
C-x C-s שמור קובץ
|
||
C-x s שמור חוצצים אחדים
|
||
C-x C-b הצג רשימת חוצצים
|
||
C-x b החלף חוצץ
|
||
C-x C-c צא מ־Emacs
|
||
C-x 1 השאר רק חלון אחד ומחק כל השאר
|
||
C-x u בטל פקודה אחרונה
|
||
|
||
הרחבה ע״י שם הפקודה שימושית עם פקודות עוד יותר נדירות או פקודות
|
||
ספציפיות רק לאופני פעולה (modes) מיוחדים. דוגמא לכך היא פקודה
|
||
replace-string (החלף מחרוזת) אשר מחליפה מחרוזת אחת במשנה בכל החוצץ.
|
||
אחרי שתקישו M-x, Emacs מציג M-x בתחתית התצוגה ומחכה שתקישו את שם
|
||
הפקודה, במקרה זה "replace-string". מספיק שתקישו "repl s<TAB>" ו־Emacs
|
||
ישלים את השם המלא. (<TAB> הוא מקש Tab, בדרך כלל תמצאו אותו מעל מקש
|
||
ה־CapsLock או Shift, ליד הקצה השמאלי של המקלדת.) סיימו את הזנת הפקודה
|
||
ע״י הקשת <Return>.
|
||
|
||
הפקודה להחלפת מחרוזת זקוקה לשני ארגומנטים -- המחרוזת שתוחלף וזו שתחליף
|
||
אותה. סיימו הקשה של כל אחת מהן ע״י <Return>.
|
||
|
||
>> הביאו את הסמן שתי שורות מתחת לשורה זו.
|
||
עתה הקישו M-x repl s<Return>changed<Return>altered<Return>.
|
||
|
||
שימו לב שהמילה "changed" בשורה זו שתנתה: זה עתה החלפתם את
|
||
המילה c-h-a-n-g-e-d במילה "altered" בכל מקום בו היא נמצאת אחרי
|
||
הסמן.
|
||
|
||
|
||
* שמירה אוטומטית
|
||
----------------
|
||
|
||
שינויים שערכתם בקובץ אבל טרם שמרתם עלולים ללכת לאיבוד אם המחשב שלכם
|
||
נתקע. על־מנת להגן עליכם מפני סכנה זו, Emacs שומר לעתים מזומנות כל קובץ
|
||
שנמצא בעריכה. השמירה האוטומטית הזאת נעשית לקובץ נפרד ששמו מתחיל
|
||
ומסתיים בתו #. לדוגמא, אם הינכם עורכים קובץ בשם "hello.c", קובץ השמירה
|
||
האוטומטית שיווצר עבורו ייקרא "#hello.c#". שמירה רגילה של הקובץ על ידכם
|
||
מוחקת את קובץ השמירה האוטומטית.
|
||
|
||
אם המחשב אכן נתקע, תוכלו לנציל את השינויים שלא הספקתם לשמור. לשם כך,
|
||
יש לפתוח את הקובץ כרגיל (את הקובץ בשמו המקורי, לא את קובץ השמירה
|
||
האוטומטית), ואחר־כך להקיש M-x recover-this-file <Return>. כש־Emacs
|
||
יבקש אישור, הקישו yes<Return> כדי ש־Emacs ישחזר את הקובץ כפי שנשמר
|
||
אוטומטית.
|
||
|
||
|
||
* תצוגת הד
|
||
----------
|
||
|
||
אם Emacs מגלה שאתם מקישים פקודה לאט, הוא מציג את שהקשתם בתחתית התצוגה,
|
||
באזור שנקרא "אזור תצוגת הד". אזור זה משתמש בשורה התחתונה של התצוגה.
|
||
|
||
|
||
* שורת סטטוס
|
||
------------
|
||
|
||
השורה שמעל אזור תצוגת הד נקראת "שורת הסטטוס" (mode line). שורה זו
|
||
מציגה משהו כמו:
|
||
|
||
U:**- TUTORIAL.he 63% L651 (Fundamental)
|
||
|
||
שורה זו מציגה מידע חשוב לגבי מצבו של Emacs ולגבי הטקסט שנמצא בעריכה.
|
||
|
||
אתם כבר יודעים מהי משמעותו של שם הקובץ -- זהו הקובץ שפתחתם. NN% מציין
|
||
את מיקומכם הנוכחי בתוך הטקסט, לאמור כי NN אחוזים מתכולת החוצץ קודמים
|
||
לטקסט המוצג כרגע בחלון. אם המוצג בחלון כולל את תחילת הטקסט, תראו שם
|
||
"Top" במקום "0% ". אם המוצג בחלון כולל את סוף הטקסט, תראו שם "Bot"
|
||
(bottom). אם הטקסט כל־כך קצר שכולו מוצג בחלון, שורת הסטטוס תציג "All".
|
||
|
||
האות L והמספר שאחריה מציינים את המיקום הנוכחי בדרך אחרת: הם מראים את
|
||
מספר השורה שבה נמצא הסמן.
|
||
|
||
הכוכביות ליד הקצה השמאלי משמעותן כי שיניתם את הטקסט. מיד אחרי פתיחת
|
||
הקובץ או אחרי שמירתו החלק הזה של שורת הסטטוס אינו מציג כוכביות, אלא רק
|
||
מקפים.
|
||
|
||
החלק שבתוך הסוגריים אומר לכם מהo אופני העריכה (editing modes) הפעילים
|
||
כעת. ברירת המחדל היא Fundamental, האופן הבסיס, שבו אתם משתמשים כעת.
|
||
זוהי דוגמא של "אופן עריכה ראשי" (major mode).
|
||
|
||
ל־Emacs אופני עריכה ראשיים רבים ומגוונים. חלק מהם נועדו לעריכה של שפת
|
||
תכנות מסוימת ו/או סוג מסוים של טקסט, כגון Lisp mode, Text mode וכד'.
|
||
בכל רגע נתון רק אופן עיקרי אחד יכול להיות פעיל ושמו תמיד מצויין בשורת
|
||
הסטטוס באותו מקום בו כרגע אתם רואים "Fundamental".
|
||
|
||
כל אופן עיקרי גורם לכמה פקודות לפעול בצורה מיוחדת. למשל, ישנן פקודות
|
||
ליצירת הערות בתוך תוכנית, והיות וכל שפת תכנות מגדירה את הפורמט של
|
||
הערות בצורה אחרת, כל אופן עיקרי חייב להכניס הערות בצורה שמתאימה לשפה.
|
||
כל אופן עיקרי הינו למעשה שם הפקודה שבעזרתה אפשר להפעיל את אותו האופן.
|
||
למשל הפקודה להפעיל את האופן Fundamental הינה M-x fundamental-mode.
|
||
|
||
אם בכוונתכם לערוך טקסט בשפה אנושית כלשהי, כמו הקובץ הזה, כדאי לכם
|
||
להשתמש ב־Text mode.
|
||
|
||
>> הקישו M-x text-mode <Return>.
|
||
|
||
אל דאגה: אף אחת מפקודות Emacs שלמדתם עד כה משנה את התנהגותה באופן
|
||
מהותי. עם זאת, שימו לב ש־M-f ו־M-b מתייחסים עכשיו ל־'גרש' כחלק מהמילה.
|
||
לפני־כן, ב־Fundamental mode, M-f ו־M-b התנהגו עם הגרש כמפריד בין
|
||
מילים.
|
||
|
||
אופנים ראשיים בדרך־כלל משנים קלות את התנהגות הפקודות: רוב הפקודות
|
||
עדיין "עושות אותה עבודה" בכל האופנים הראשיים, אבל עושות אותה קצת אחרת.
|
||
|
||
לצפיה בתיעוד של האופן הראשי הנוכחי יש להקיש C-h m.
|
||
|
||
>> הקישו C-l C-l כדי להביא שורה זו לראשית התצוגה.
|
||
>> עתה הקישו C-h m כדי לראות במה Text mode שונה מה־Fundamental mode.
|
||
>> לבסוף, הקישו C-x 1 כדי לסלק את התיעוד מהתצוגה.
|
||
|
||
אופנים ראשיים נקראים כך משום שקיימים גם אופני־משנה (minor modes).
|
||
אופני משנה אינם מהווים חלופה לאופנים הראשיים, הם רק משנים אותם במקצת.
|
||
כל אופן־משנה ניתן להפעלה או ביטול ללא תלות בכל שאר אופני המשנה וללא
|
||
תלות באופן הראשי הנוכחי. לכן תוכלו להפעיל אופן־משנה אחד או יותר, או אף
|
||
אופן־משנה.
|
||
|
||
אחד מאופני־המשנה השימושיים ביותר, במיוחד לשם עריכת טקס בשפת־אנוש, הוא
|
||
Auto Fill mode. כאשר אופן זה מופעל, Emacs אוטומטית פותח שורה חדשה
|
||
בסיום מילה אם הטקסט שהקשתם ארוך מדי בשביל שורה אחת.
|
||
|
||
להפעלת Auto Fill mode יש להקיש M-x auto-fill-mode <Return>. כאשר אופן
|
||
זה מופעל, ניתן לבטלו ע״י M-x auto-fill-mode <Return>. זאת אומרת, פקודה
|
||
זו מפעילה את האופן כשאינו פעיל ומבטלת אותו כשהוא פעיל. לפעולה זו
|
||
קוראים "מיתוג" -- הפקודה "ממתגת" את האופן.
|
||
|
||
>> הקישו עתה M-x auto-fill-mode <Return>. אחר־כך הקישו "שדגכ " (עם
|
||
הרווח בסוף) שוב ושוב עד שתיפתח שורה חדשה. הרווחים חשובים משום
|
||
ש־Auto Fill mode שובר שורות אך ורק ברווח שבין המלים.
|
||
|
||
השוליים (margin) ש־Emacs שומר בדרך־כלל מתחילים אחרי 70 תווים, אבל ניתן
|
||
לשנות הגדרה זו בעזרת הפקודה C-x f. פקודה זו מקבלת את ההגדרה החדשה של
|
||
השוליים כארגומנט נומרי.
|
||
|
||
>> הקישו C-x f עם ארגומנט של 20. (C-u 2 0 C-x f). אחר־כך הקישו טקסט
|
||
כלשהו ושימו לב ש־Emacs פותח שורות חדשות אחרי 20 תווים לכל היותר.
|
||
לבסוף, החזירו את הגדרת השוליים ל־70 ע״י שימוש חוזר ב־C-x f.
|
||
|
||
אם ערכתם שינויים באמצע פסקה, Auto Fill mode לא ימלא שורות מחדש באופן
|
||
אוטומטי.
|
||
כדי למלא מחדש את כל הפסקה הקישו M-q (META-q) כשהסמן נמצא בתוך
|
||
הפסקה.
|
||
|
||
>> הניעו את הסמן לתוך הפסקה הקודמת והקישו M-q.
|
||
|
||
|
||
* חיפוש
|
||
-------
|
||
|
||
Emacs יכול לחפש מחרוזות (רצף של תווים) קדימה או אחורה בתוך הטקסט.
|
||
חיפוש של מחרוזת הוא סוג של פקודה להנעת הסמן: הוא ממקם את הסמן היכן
|
||
שנמצאה המחרוזת הבאה.
|
||
|
||
החיפוש של Emacs הינו "מצטבר" ("incremental"). פירוש הדבר הוא שהחיפוש
|
||
מתבצע במקביל להקשתכם את המחרוזת אותה ברצונכם למצוא.
|
||
|
||
הפקודה להתחיל בחיפוש היא C-s לחיפוש קדימה ו־C-r לחיפוש אחורה. חכו! אל
|
||
תפעילו אותן עדיין.
|
||
|
||
כשתקישו C-s, תראו שבאזור תצוגת ההד יופיע הטקסט "I-search". זה אומר
|
||
ש־Emacs נמצא במצב "חיפוש מצטבר" ("incremental search") והוא ממתין
|
||
להקשתכם את המחרוזת אותה ברצונכם למצוא. הקשה על <Return> מסיימת את
|
||
החיפוש.
|
||
|
||
>> הקישו עתה C-s כדי להתחיל בחיפוש. לאט־לאט, אות־אות, הקישו את המילה
|
||
"סמן", עם הפסקה אחרי כל אות, ושימו לב להתנהגות הסמן.
|
||
זה עתה מצאתם את המילה "סמן" פעם אחת.
|
||
>> הקישו C-s שוב, כדי למצוא את "סמן" במקומות נוספים בטקסט.
|
||
>> הקישו <DEL> שלוש פעמים ושימו לב לתנועת הסמן בכל הקשה.
|
||
>> הקישו <Return> לסיום החיפוש.
|
||
|
||
האם שמתם לב למה שקרה? במהלך "חיפוש מצטבר" Emacs מנסה למצוא את המקום
|
||
הבא בו מופיעה המחרוזת שהקשתם. כדי למצוא את המחרוזת במקום הבא, פשוט
|
||
הקישו C-s פעם נוספת. אם המחרוזת אינה נמצאת בהמשך הטקסט, Emacs מצפצף
|
||
ומודיע שהחיפוש נכנס למצב של "כשלון" ("failing"). הקשה על C-g גם היא
|
||
מסיימת את החיפוש.
|
||
|
||
אם במהלך החיפוש תקישו על <DEL>, החיפוש "נסוג" למצב קודם. אם הקשתם
|
||
<DEL> מיד אחרי C-s, הקשת <DEL> מחזירה את הסמן למקום הקודם בו נמצאה
|
||
המחרוזת. אם אין מקומות קודמים בהם מופיעה המחרוזת, הקשת <DEL> מוחקת את
|
||
התו האחרון של המחרוזת המבוקשת. למשל, נניח שהקשתם "ס" על־מנת למצוא את
|
||
המקום הבא בו מופיעה האות "ס". אם עכשיו תקישו "מ", הסמן יזוז למקום בו
|
||
נמצא "סמ". עתה הקישו <DEL>. ה־"מ" נמחק מהמחרוזת והסמן חוזר למקום בו
|
||
הוא מצא את "ס" לראשונה.
|
||
|
||
אם במהלך החיפוש תפעילו פקודה כלשהי ע״י הקשה על מקש תוך לחיצה על
|
||
CONTROL או META, החיפוש יסתיים. (כמה תווים יוצאים מכלל זה -- אלו תווים
|
||
מיוחדים בעת חיפוש, כדוגמת C-s ו־C-r.)
|
||
|
||
הקשה על C-s מתחילה חיפוש שמנסה למצוא את המחרוזת _אחרי_ הסמן. אם
|
||
ברצונכם למצוא משהו בטקסט הקודם למקום הנוכחי, הקישו C-r במקום C-s. כל
|
||
מה שאמרנו לגבי C-s תקף גם לגבי C-r, אלא שכיוון החיפוש מתהפך.
|
||
|
||
|
||
* חלונות מרובים
|
||
---------------
|
||
|
||
אחת התכונות הנוחות של Emacs היא כי ניתן להציג יותר מחלון אחד על המסך
|
||
בו־זמנית. (הערה: Emacs משתמש במונח "frame" -- "תבנית" -- בשביל מה
|
||
שתוכניות אחרות מכנות "חלון". תבניות מתוארות בפסקה הבאה. תוכלו למצוא את
|
||
רשימת המונחים של Emacs בפרק "Glossary" של מדריך משתמש.)
|
||
|
||
>> הביאו סמן לשורה זו והקישו C-l C-l (CONTROL-L ולא CONTROL-1).
|
||
|
||
>> עתה הקישו C-x 2 וכתוצאה מכך החלון יתחלק לשניים. כל אחד משני החלונות
|
||
מציג את השיעור הזה. הסמן נשאר בחלון העליון.
|
||
|
||
>> הקישו C-M-v כדי לגלול את החלון התחתון.
|
||
(אם במקלדת שלכם אין מקש META אמיתי, הקישו <ESC> C-v כתחליף.)
|
||
|
||
>> הקישו C-x o ("o" הוא רמז ל־"other", "אחר") על־מנת להעביר את הסמן
|
||
לחלון התחתון.
|
||
>> הקישו C-v ו־M-v בחלון התחתון כדי לגלול אותו.
|
||
המשיכו לקרוא הוראות אלו בחלון העליון.
|
||
|
||
>> הקישו C-x o שוב לחזור לחלון העליון.
|
||
הסמן בחלון העליון יישאר במקום בו הוא היה לפני־כן.
|
||
|
||
תוכלו להמשיך להשתמש ב־C-x o כדי לדלג בין החלונות. "החלון הנבחר", אותו
|
||
חלון בו הנכם עורכים טקסט, מזוהה ע״י סמן בולט שמהבהב בזמן שאינכם
|
||
מקלידים. לכל החלונות האחרים מיקום סמן משלהם; אם הפעלתם את Emacs על צג
|
||
גרפי, מיקום הסמן בחלונות האחרים מוצג כתיבה ריקה שאינה מהבהבת.
|
||
|
||
הפקודה C-M-v נוחה מאד כאשר הינכם עורכים טקסט בחלון אחד ומשתמשים בחלון
|
||
אחר לייחוס. תוכלו להתקדם בחלון השני בעזרת C-M-v מבלי לעזוב את החלון
|
||
הנבחר.
|
||
|
||
C-M-v היא דוגמא אחת של פקודת CONTROL-META. אם במקלדת שלכם קיים מקש
|
||
META (או Alt) אמיתי, תוכלו להקיש את הפקודה ע״י לחיצה והחזקה של מקשי
|
||
CONTROL ו־META גם יחד ואז להקיש v. הסדר שבו תלחצו על CONTROL ו־META
|
||
אינו משנה כי שני המקשים הללו פועלים ע״י שינוי התו המוקש יחד איתם.
|
||
|
||
אם אין במקלדת מקש META אמיתי ואתם משתמשים ב־<ESC> כתחליף, הסדר כן
|
||
משנה: חייבים להקיש <ESC> ורק לאחר מכן CONTROL-v, וזאת משום
|
||
ש־CONTROL-<ESC> v לא יעבוד. <ESC> הוא תו בזכות עצמו, שלא כמו CONTROL
|
||
או META.
|
||
|
||
>> הקישו C-x 1 (בחלון העליון) כדי לסלק את החלון התחתון.
|
||
|
||
(אילו הקשתם C-x 1 בחלון התחתון, הייתם מסלקים את החלון העליון. תוכלו
|
||
לחשוב על פקודה זו כ־"השאר רק חלון אחד -- החלון בו אני נמצא עתה".)
|
||
|
||
אין חובה להציג את אותו החוצץ בשני החלונות. תוכלו להשתמש ב־C-x C-f
|
||
לפתיחת קובץ באחד החלונות -- דבר זה אינו משפיע על החלון השני. אפשר גם
|
||
לפתוח קבצים שונים בכל אחד משני החלונות באופן בלתי־תלוי.
|
||
|
||
הנה עוד שיטה להשתמש בשני חלונות להצגה של שני דברים שונים:
|
||
|
||
>> הקישו C-x 4 C-f ואחר־כך הקישו שם של אחד הקבצים שלכם.
|
||
סיימו עם <Return>. שימו לב שהקובץ המבוקש מוצג בחלון התחתון. הסמן
|
||
מדלג לשם אף הוא.
|
||
|
||
>> הקישו C-x o לעבור לחלון העליון ואחר־כך הקישו C-x 1 כדי לסלק את
|
||
החלון התחתון.
|
||
|
||
|
||
* תבניות מרובות
|
||
---------------
|
||
|
||
Emacs מסוגל לפתוח מספר "תבניות" ("frames"). תבנית כוללת קבוצת חלונות,
|
||
תפריט, פסי גלילה, אזור תצוגת הד וכו'. על צג גרפי מה שאנו קוראים
|
||
"תבנית" נקרא בדרך־כלל "חלון". ניתן להציג תבניות אחדות על אותו צג גרפי
|
||
בו־זמנית על צג טקסטואלי אפשר להציג רק תבנית אחת בכל עת.
|
||
|
||
>> הקישו C-x 5 2.
|
||
כתוצאה, תבנית חדשה תופיע על המסך.
|
||
|
||
כל מה שעשיתם בתבנית המקורית ניתן לעשות גם בתבנית החדשה. התבנית הראשונה
|
||
אין בה שום דבר מיוחד.
|
||
|
||
>> הקישו C-x 5 0.
|
||
התבנית שבה הקשתם את הפקודה תיסגר ותיעלם מהמסך.
|
||
|
||
כמו־כן, ניתן לסגור תבנית בדרך הרגילה הנתמכת ע״י התצוגה הגרפית של
|
||
המערכת שלכם (בדרך־כלל, ע״י הקלקה על הכפתור המסומן ב־"X" בפינה עליונה
|
||
של התבנית.) שום מידע אינו הולך לעיבוד כאשר סוגרים תבנית (או חלון).
|
||
המידע הזה פשוט יורד מהתצוגה, אבל ניתן לאחזרו מאוחר יותר.
|
||
|
||
|
||
* רמות עריכה רקורסיביות
|
||
-----------------------
|
||
|
||
יתכן ותיקלעו למצב שקרוי "רמת עריכה רקורסיבית". Emacs מציין זאת ע״י
|
||
סוגריים מרובעים בשורת הסטטוס מסביב לשם האופן הראשי. למשל, יוצג שם
|
||
[(Fundamental)] במקום (Fundamental).
|
||
|
||
כדי להחלץ מרמת עריכה רקורסיבית יש להקיש <ESC> <ESC> <ESC>. זוהי פקודה
|
||
כללית של "הימלטות". ניתן להשתמש בה גם כדי לסלק חלונות מיותרים וליציאה
|
||
מתוך מיני־חוצץ.
|
||
|
||
>> הקישו M-x כדי להיכנס למיני־חוצץ; אחר־כך הקישו <ESC> <ESC> <ESC> כדי
|
||
להיחלץ משם.
|
||
|
||
הקשה על C-g לא תחלץ אתכם מרמות עריכה רקורסיביות. זאת, משום ש־C-g מבטל
|
||
פקודות וארגומנטים _במסגרת_ הרמה הרקורסיבית, מבלי לצאת ממנה.
|
||
|
||
|
||
* לקבלת עזרה נוספת
|
||
------------------
|
||
|
||
בשיעור הראשון הזה השתדלנו לתת בידיכם מידע שאך יספיק להתחלת השימוש שלכם
|
||
ב־Emacs. Emacs מכיל כל־כך הרבה שאין שום אפשרות לתאר ולהסביר כאן את
|
||
הכל. אולם, סביר שתרצו ללמוד יותר על Emacs שכן יש בו עוד הרבה תכונות
|
||
שימושיות. Emacs כולל פקודות לשם קריאת תיעוד על הפקודות של Emacs.
|
||
הפעלת פקודות "עזרה" אלו תמיד מתחילה במקש CONTROL-h שעל־כן נקרא "מקש
|
||
עזרה" ("help").
|
||
|
||
להפעלת פקודות עזרה יש להקיש את C-h ואחר־כך עוד תו שמבקש עזרה מסוג
|
||
מסויים. אם אתם _באמת_ אבודים, הקישו C-h ? ו־Emacs יציג את סוגי העזרה
|
||
שהוא מעמיד לרשותכם. אם הקשתם C-h ובסופו של דבר החלטתם שאין צורך בשום
|
||
עזרה, פשוט הקישו C-g לבטל את הפקודה.
|
||
|
||
(אם הקשת C-h אינה מציגה בתחתית התצוגה הודעה בדבר עזרה, נסו להקיש F1 או
|
||
M-x help <Return> כתחליף.)
|
||
|
||
סוג העזרה הבסיס ביותר הוא C-h c. הקישו C-h, אחריו את האות c ואז הקישו
|
||
סדרת מקשים שמפעילה פקודה כלשהי. Emacs יציג תיאור מאד קצר של הפקודה
|
||
ההיא.
|
||
|
||
>> הקישו C-h c C-p.
|
||
|
||
התוצאה שתוצג צריכה להיות משהו כמו זה:
|
||
|
||
C-p runs the command previous-line
|
||
|
||
ההודעה הזו מראה את "שם הפונקציה". היות ושמות הפונקציות נבחרים כדי
|
||
לציין מה הן עושות, השמות עשויים לשמש כתיעוד מקוצר -- מספיק כדי להזכיר
|
||
לכם את הפקודות שלמדתם בעבר.
|
||
|
||
ניתן לציין אחרי C-h c גם פקודות שמופעלות ע״י סדרת מקשים באורך גדול
|
||
מאחד, כגון C-x C-s או <ESC> v (כתחליף ל־M-v, אם אין מקש META או EDIT
|
||
או ALT).
|
||
|
||
לקבלת מידע מפורט יותר על פקודה, השתמשו בפקודה C-h k במקום C-h c.
|
||
|
||
>> הקישו C-h k C-p.
|
||
|
||
כתוצאה, יוצגו השם והתיעוד של הפונקציה בחלון Emacs נפרד. כשתסיימו לקרוא
|
||
את התיעוד, הקישו C-x 1 כדי לסלק את חלון העזרה. לא חייבים לעשות זאת
|
||
מיד. אפשר לבצע קצת עריכה תוך שימוש בתיעוד המוצג ורק אחר־כך להקיש C-x 1.
|
||
|
||
הנה עוד כמה פקודות עזרה שימושיות:
|
||
|
||
C-h f תן הסבר על פונקציה. יש להקיש את שם הפונקציה.
|
||
|
||
>> נסו להקיש C-h f previous-line <Return>.
|
||
כתוצאה, יוצג תיעוד מלא של הפונקציה המממשת את הפקודה C-p כפי שהוא
|
||
ידוע ל־Emacs.
|
||
|
||
פקודה דומה C-h v מציגה תיעוד של משתנה, כולל אלו שאת הערכים שלהם ניתן
|
||
לשנות כדי לקסטם את Emacs. יש להקיש את שם המשתנה כאשר Emacs יבקש זאת.
|
||
|
||
C-h a פקודות בנוגע לנושא מסויים. הקישו מילת מפתח ו־Emacs
|
||
יציג את רשימת הפקודות ששמותיהן מכילות את מילת המפתח.
|
||
כל הפקודות הללו ניתנות להפעלה ע״י META-x. עבור חלק
|
||
מהפקודות תוצג גם סדרת מקשים שמפעילה את הפקודה.
|
||
|
||
>> הקישו C-h a file <Return>.
|
||
|
||
כתוצאה מזה, יוצג חלון עם רשימה של כל הפקודות ששמותיהן מכילות את המילה
|
||
"file". ביניהן תראו גם מקשי קיצור כגון C-x C-f לצד שמות הפקודות כגון
|
||
find-file.
|
||
|
||
>> הקישו C-M-v כדי לגלול את חלון העזרה. עשו זאת פעמים אחדות.
|
||
|
||
>> עתה הקישו C-x 1 כדי לסגור את חלון העזרה.
|
||
|
||
C-h i הצג מדריכים למשתמש הכלולים בחבילת Emacs. (פקודה זו
|
||
ידועה גם בשם "Info".) פקודה זאת פותחת חוצץ מיוחד הקרוי
|
||
"*info*" שבו תוכלו לקרוא מדריכים המותקנים במערכת שלכם.
|
||
הקישו m emacs <Return> כדי לקרוא במדריך למשתמשי Emacs.
|
||
אם אינכם מכירים את Info, הקישו h ו־Emacs יקח אתכם
|
||
לשיעור על התכונות של Info mode. כשתסיימו עם השיעור
|
||
הזה, אנו בהחלט ממליצים להשתמש במדריך Emacs בתור התיעוד
|
||
העיקרי שלכם.
|
||
|
||
|
||
* עוד תכונות
|
||
------------
|
||
|
||
תוכלו ללמוד עוד על־אודות Emacs ע״י קריאה במדריך למשתמש שלו, אם כספר
|
||
מודפס או בגירסה מקוונת בתוך Emacs עצמו. (תוכלו להגיע אל המדריך דרך
|
||
תפריט Help או ע״י הקשה על C-h r.) אולם שתי תכונות שבוודאי ימצאו חן
|
||
בעיניכם הן השלמה אשר חוסכת הקשות, ו־dired שמאפשרת טיפול נוח בקבצים.
|
||
|
||
השלמה היא דרך להימנע מהקשות מיותרות. למשל, אם ברצונכם לעבור לחוצץ
|
||
*Messages*, תוכלו להקיש C-x b *M<Tab> ו־Emacs ישלים את שאר האותיות של
|
||
שם החוצץ ככל שניתן להסיק ממה שהקשתם. השלמה פועלת גם על שמות הפקודות
|
||
ושמות קבצים. תכונת ההשלמה מתוארת במלואה במדריך למשתמש Emacs בצומת
|
||
(node) בשם "Completion".
|
||
|
||
Dired מאפשר להציג רשימת קבצים בתיקיה (וכאפציה גם בתת־תיקיות שלה), לנוע
|
||
בתוך הרשימה הזו, לפתוח קבצים, לשנות את שמותיהם, למחוק אותם ולבצע עליהם
|
||
עוד פעולות רבות. Dired מתואר במלואו במדריך למשתמש בצומת בשם "Dired".
|
||
|
||
בנוסף, מדריך למשתמש מתאר עוד הרבה מאד תכונות של Emacs.
|
||
|
||
|
||
* לסיום
|
||
-------
|
||
|
||
כדי לצאת מ־Emacs יש להקיש C-x C-c.
|
||
|
||
שיעור זה נכתב כדי להיות מובן לכל המשתמשים החדשים, לכן אם מצאתם שמשהו
|
||
כאן אינו ברור, אל תשבו ותאשימו את עצמכם -- תתלוננו!
|
||
|
||
|
||
* זכויות שימוש
|
||
--------------
|
||
|
||
שיעור זה הינו צאצא של שורה ארוכה של שיעורים בשימוש ב־Emacs, החל מהגרסה
|
||
הראשונה שנכתבה ע״י Stuart Cracraft עבור גירסת ה־Emacs המקורית.
|
||
|
||
גירסה זו של השיעור הינה חלק מחבילת GNU Emacs. היא מוגנת בזכויות יוצרים
|
||
וניתנת להעתקה והפצת עותקים בתנאים מסויימים כדלקמן:
|
||
|
||
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||
|
||
GNU Emacs הינו תכנה חפשית; זכותכם להפיצו ו\או לשנותו בכפוף לתנאי
|
||
הרשיון GNU General Public License, כפי שהוא יוצא לאור ע״י Free
|
||
Software Foundation, אם בגרסא 3 של הרשיון, ואם (כאופציה השמורה לכם)
|
||
בכל גרסא מאוחרת יותר.
|
||
|
||
GNU Emacs מופץ מתוך תקווה שהוא יביא תועלת, אולם ללא כל כתב אחריות;
|
||
אפילו לא אחריות־במשתמע של סחירות או התאמה לאיזו תכלית מסוימת. לפרטים,
|
||
אנא עיינו ב־GNU General Public License.
|
||
|
||
GNU Emacs אמור להיות מלווה בעותק של GNU General Public License; אם לא
|
||
קיבלתם אותו, תוכלו למצוא אותו ב־<http://www.gnu.org/licenses/>.
|
||
|
||
הנכם מוזמנים לקרוא את הקובץ COPYING ואז אכן לחלק עותקים של GNU Emacs
|
||
לחבריכם. עזרו לנו לחסל את "הבעלות" על תוכנה שאינה אלא חבלה בתוכנה,
|
||
וזאת ע״י שימוש, כתיבה ושיתוף של תוכנה חופשית!
|
||
|
||
|
||
|
||
--- end of TUTORIAL.he ---
|
||
|
||
;;; Local Variables:
|
||
;;; coding: utf-8
|
||
;;; bidi-display-reordering: t
|
||
;;; sentence-end-double-space: nil
|
||
;;; bidi-paragraph-direction: nil
|
||
;;; End:
|