Emacs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ראו גם 
 Emacs Lisp
 Org-mode

קישורים חיצוניים 

 
 אתר הבית של אימאקס

הערות שוליים

תוכנה חופשית
סביבות פיתוח משולבות
עורכי טקסט
תוכנות שהושקו ב-1976
תוכנה חוצת פלטפורמות