Emacs

משפחת עורכי טקסט חופשיים הניתנים להרחבה והתאמה למאפייני שימוש מגוונים

Emacs או EMACS (ראשי תיבות: Editor MACroS; בעברית: אִימֶקְס) היא משפחה של עורכי טקסט שנודעו בעיקר בזכות האפשרות להרחיב אותם לשימושים חדשים.[1][2] רק גרסה אחת, זו המכונה GNU Emacs (בעברית יש לבטא גְנוּ אִימֶקְס), שנוצרה על ידי ריצ'רד סטולמן עבור מיזם GNU, נפוצה עדיין בשימוש ולמעשה נחשבת לתוכנה החופשית הוותיקה ביותר בפיתוח פעיל.

GNU Emacs
תמונת מסך מתוך התוכנה
תמונת מסך מתוך התוכנה
מפתח מיזם GNU
מחזור חיים 20 במרץ 1985 של GNU Emacs הנמצא בשימוש כיום, אך EMACS המקורי הושק ב־1976. – הווה
גרסה אחרונה 29.3 (24 במרץ 2024) עריכת הנתון בוויקינתונים
מערכת הפעלה חוצה פלטפורמות
נכתבה בשפות Emacs Lisp, C
סוג רישיון GPLv3 GNU
קטגוריה עורך טקסט
http://www.gnu.org/software/emacs//
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

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

ההיסטוריה של GNU Emacs עריכה

הפיתוח של Emacs החל בשנות ה-70 במעבדת מדעי המחשב וה - AI של MIT.[3]

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

חלקים של Emacs נכתבו בשפת C, אך ליבתו של העורך היא מפרש עבור ניב של שפת התכנות Lisp הנקרא Emacs Lisp. בשפה זו נכתבות מרבית ההרחבות השונות.

Emacs זמינה עבור מערכות הפעלה היסטוריות ומודרניות רבות, בהן במיוחד לינוקס, חלונות ו-macOS וכן גרסאות שונות של מערכות BSD, סולאריס ואחרות.

במהלך השנים הפרויקט, לו תרמו רבבות מתכנתים מרחבי העולם, פוצל למספר גרסאות שנועדו לספק את צורכיהם של המשתמשים השונים. בולטת במיוחד XEmacs (שנקראה תחילה Lucid Emacs), אשר הייתה הגרסה הראשונה של Emacs עבורה פותח ממשק גרפי לשימוש במערכת X11. XEmacs, להבדיל מ-GNU Emacs, איננה נמצאת בפיתוח פעיל.

בעקבות יצירת הגרסה המתחרה החל סטולמן להבחין בין הגרסה המקורית ו"חיקוייה" על ידי כתיבת השם המקורי כ-"Emacs" בעוד שהשם "emacs" התייחס לגרסאות אחרות.

הפיתוח של GNU Emacs נמשך גם כיום. גירסה 29.2 שוחררה בינואר 2024.[4]

תכונות עיקריות עריכה

יכולת ההרחבה וההתאמה של Emacs למשימות שונות היא אחת התכונות החשובות והמוכרות ביותר של העורך.[5] הוא מופץ בדרך כלל בליווי מגוון הרחבות - בהן מנהל קבצים (dired), קורא דואר אלקטרוני וקבוצות דיון (gnus), דפדפן אינטרנט (eww) ועוד.

Emacs בשימוש בראש ובראשונה כעורך קוד מקור. לצורך זה הוא כולל תמיכה מובנית בשפות קוד רבות. תמיכה עבור שפות קוד חדשות זמינה באמצעות הרחבות צד-שלישי.

Emacs משנה את התנהגותו בהתאם לסוג הקובץ שהמשתמשים עורכים ברגע נתון, זאת על ידי מעבר אוטומטי מ"מצב עריכה" (mode) אחד לאחר. מצבי העריכה הבסיסיים ביותר הם של קובץ טקסט פשוט, קובץ HTML וכיוצא בזה.

התמיכה בשפות התכנות השונות כוללת התאמה לצורת העימוד (indentation), צביעת התחביר (highlighting) וגישה לכלים ועזרים שונים בשימוש בפיתוח בכל שפה.

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

קיצורי המקשים המקובלים ב-Emacs הפכו בעצמם פופולריים גם בקרב משתמשי מערכות הפעלה מבוססות יוניקס, והם מוצעים גם כאפשרות לבחירת המשתמשים, הן ברמת מערכת ההפעלה, או כתכונה בעורכי טקסט ותוכנות שונים. עורכי טקסט שפותחו בהשראת Emacs, כגון QEmacs ו־Zile (ראשי תיבות של Zile Is Lossy Emacs), הם דוגמאות בולטות.

מלבד גמישות רבה בהתאמה אישית, הן תכנותית והן דרך מערכת ניהול הגדרות התאמה מובנית, Emacs נודע גם כעורך קוד הכולל בתוכו תיעוד מגוון ועשיר.

התאמה אישית עריכה

כמעט כל היבט של Emacs ניתן להתאמה אישית. משתמשים יוצרים קובץ תצורה .emacs או emacs.el או init.el (הנקודה הכרחית ומציינת קובץ ניסתר במערכת הקבצים) אותם הם שומרים בספריית הבית, או בספרייה .emacs.d או .config/emacs/ (במערכות מבוססות לינוקס) הנקרא על ידי Emacs בעת ההפעלה, וההוראות המצויות בו מבוצעות זו אחר זו.

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

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

הפולקלור הרווח בקרב משתמשי Emacs הוא שעיקר הזמן של המשתמשים בו מוקדש לניהול התצורה ולהתאמה אישית. הגמישות האינסופית לכאורה נובעת מהאופן בו נבנתה Emacs ומהיתרונות שמציעה שפת Emacs Lisp, שהיא שפת ניהול התצורה. השימוש בשפה זו מחייב ידע מוקדם ומיומנות. כתוצאה מכך קהילת המשתמשים יצרה במהלך השנים "ערכות" תצורה, שאפשרו למשתמשים להעתיק קובץ אחד או יותר למערכת ההפעלה שלהם ועל ידי כך לאמץ את גישת המפתחים שיצרו את הערכה, במקום להמציא את הגלגל מחדש. הבולטות בדור החדש של ערכות התצורה כיום הן Spacemacs,[6] ו-Doom Emacs,[7] המפותחות ומתוחזקות על ידי קהילת מתנדבים, בנפרד מפרויקט Emacs.

בתרבות עריכה

כנסיית Emacs עריכה

כנסיית Emacs, שהוקמה על ידי ריצ'רד סטולמן, היא דת פארודית שנוצרה עבור משתמשי Emacs.[8] בעוד שהיא מתייחסת ל-vi כדבר חייתי (vi-vi-vi הוא 6-6-6 בספרות רומיות), היא אינה מתנגדת לשימוש ב-vi; במקום זאת, היא מכנה את vi תוכנה קניינית ארורה. ("שימוש בגרסה חופשית של vi אינו חטא אלא תשובה"[9]). לכנסיית Emacs יש קבוצת דיון משלה, alt.religion.emacs, שיש בה פוסטים המתיימרים לתמוך בדת הפארודית הזו. תומכי vi יצרו פולחן vi המתנגד לכנסיית Emacs.

סטולמן כינה את עצמו בצחוק כאל סנט איגנוציוס (I GNU cius),[8] קדוש בכנסיית Emacs. זאת בהתייחסות לאיגנאטיוס מאנטיוכיה, אב כנסייה מוקדם ונחשב בנצרות.

ראו גם עריכה

קישורים חיצוניים עריכה

  מדיה וקבצים בנושא Emacs בוויקישיתוף

הערות שוליים עריכה