גרש - Geresh

עדכון אחרון:
(see NEWS) 17-Oct-2004
24-Sep-2004
04-Aug-2004
21-Jun-2004
16-Jul-2003
28-Apr-2003
מחבר:
Mooffie

מבוא

גרש הנו עורך טקסט פשוט, רב־לשוני, למסופי טקסט.

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

מסופים וקידודים
  • תמיכה ביוניקוד: גרש מאחסן את התווים בזיכרונו בייצוג UCS-4.
  • תמיכה במסופי UTF-8, המאפשרת להציג מגוון עצום של תווים, כולל combining-characters (תווי ניקוד) ו־wide-characters (אידאוגרפים אסיאניים).
  • תמיכה במסופים ישנים יותר, כגון אלה התומכים רק בקידודים ממשפחת ISO-8859, ואף במערכות ללא תמיכה ב־locale.
  • תמיכה ב־ICONV
  • זיהוי אוטומטי של קבצים המקודדים ב־UTF-8/16/32.
  • תמיכה בשמות קבצים המקודדים ב־UTF-8; מקש TAB ישלים שמות קבצים בכל שפה שהיא.
  • קידוד הטקסט הנשלח אל המאיית (speller).
דו־כיווניות
  • תמיכה ב־BiDi (הודות לשימוש בספריית FriBiDi).
  • אפשרות לעריכת BiDi Formatting Codes (כגון RLM, LRM).
  • אלגוריתם חכם לקביעת כיווניות הפסקה; המשתמש רשאי לבחור מבין חמש אלגוריתמים.
  • אפשרות לביטול זמני של אלגוריתם ה־BiDi. הדבר מקל לעתים על עריכה של טקסטים מורכבים במיוחד, כמו HTML. פסקאות עבריות עדיין תיושרנה לימין, ועדיין יבוצע mirroring של תווי סוגריים.
  • תמיכה בתנועת סמן לוגית ובתנועת סמן ויזואלית; מעבר קל ביניהם.
  • יכולת לפעול כ־filter להמרת טקסט לוגי לויזואלי (בדומה ל־bidiv). את הפלט הויזואלי ניתן, לדוגמה, להעביר דרך תוכנת uniprint (מחבילת Yudit) כדי ליצור קובץ postscript המתאים להדפסה או לשליחה בפקס. ניתן להדגיש מלים בקו תחתי.
עברית וערבית
  • תצוגה אלטרנטיבית של סימני הניקוד העברי והערבי ע"י תווי ASCII צבעוניים -- למסופים שאינם יכולים להציג combining-characters (ולדעתי, שיטת התצוגה הזו נוחה יותר מהצורה בה מציגים יישומי GUI סימני ניקוד, ואני מאמין שבסופו של דבר תבחר בה גם אם המסוף שלך כן מסוגל להציג סימני ניקוד).
  • תצוגה אלטרנטיבית של המקף העברי; מצב "הקלדה חכמה" בו תו המינוס מומר אוטומטית למקף עברי.
  • אמולציית מקלדת עברית (כדי שתהיה פטור מקינפוג המסוף שלך וכדי שתהיה מסוגל להזין עברית בכל מסוף שהוא).
  • ערבית: חיבור אותיות (Arabic shaping), ליגטורת לאם־אליף, סימני ניקוד.
  • תמיכה במאייתים (spellers) של שפות שונות, כולל עברית (hspell).
  • אם העורך מבחין בקיומו של המאיית העברי hspell במערכת, תוכל להשתמש בו מניה וביה בלי לקנפג דבר!
עריכה
  • זיהוי ותצוגה של סוגים שונים של מפרידי שורות (line-ends): יוניקס (LF), מקינטוש (CR), דוס (CR+LF), מפריד השורות (LS) ומפריד הפסקאות (PS) של יוניקוד.
  • מספר סוגים של קיפול שורות (wrap); אפשרות לקיפול שורות שאינו שובר מלים (בדומה ל־Notepad של MS-Windows).
  • פקודת חרטה (Undo / Redo)
  • פקודות סלסלה (Copy / Cut / Paste)
  • צינורות (Pipes)
  • צביעה תחבירית של קובצי HTML, של הודעות דואר, של *טקסט* ושל _טקסט_.
שונות
  • תפריט pull-down
  • ערכות צבעים (color schemes)
  • קריאה לעורך חיצוני (כגון Vim, Emacs) בלחיצת מקש.
  • פס גלילה (scrollbar) מימין או משמאל
עזרה
  • "מדריך למשתמש" מפורט מאוד ובעברית, נגיש בהקשה על F1. חלק מהתפריטים מכילים קישור לחלק הרלוונטי במדריך.
  • פונקציית "תאר מקש" (בדומה ל־Describe Key של emacs)

המדריך למשתמש

ניתן לצפות במדריך למשתמש גם on-line, באמצעות הדפדפן.

צילומי מסך

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

רקע

למה כתבתי את גרש?

פשוט לא היתה לי ברירה.

מדי פעם אני נצרך לכתוב טקסט בעברית, ולמרבה ההפתעה, לא הצלחתי למצוא עורך טקסט עם תמיכה ראויה בעברית. אני משתמש במחשב חלש יחסית, פנטיום 130 MHz, ומכיוון שבמחשב כזה לא נוח להפעיל עורכי טקסט גראפיים כבדים, נאלצתי לוותר מראש על עורכים כדוגמת KEdit (שממילא אין בו הדברים שאני צריך). תמיכת העברית בעורכי טקסט פחות כבדים שבדקתי (QEmacs, Mule, Vim, He2) דיי מביכה.

המטרה שלי היתה ליצור, במהירות, עורך טקסט פשוט שמצד אחד ירוץ במסוף טקסט, דבר שיאפשר להריץ אותו בכל סביבה ובכל הנסיבות, ומצד שני שיהיה מודרני ויתמוך ברב־לשוניות, יוניקוד, סימני ניקוד, BiDi, בדיקת איות.

גרש לא בא להחליף את Emacs או את Vim.‏ Vim נותר העורך הראשי שלי. גרש נועד לעריכת טקסטים מזדמנים בעברית.

מה אומרים המשתמשים

"Just wanted to express my gratitude, Geresh is absolutely cool. Beats Yudit hands down in an xterm."

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

"In general, it's not as powerful as Emacs (or even VI) but is excellent as a Unicode and especially Hebrew editor."

"ניסיתי, והאמת, אהבתי. עושה רושם מצוין."

"A very fine editor"

"אני מתרשם מאוד לחיוב מהגרסה הזו של 'גרש'. נראה שהיא תהפוך, לפחות בעתיד הקרוב, לעורך ה־HTML המועדף עלי לדפים בעברית."

"This Geresh isn't a bashfull thing no doubt..."

הורדה והתקנה

שלוש דרכים להתקין את גרש: באמצעות חבילת RPM בינארית, באמצעות חבילת דביאן בינארית, או ע"י הידור קוד המקור.

RPM בינארי

הדרך המומלצת להתקנת גרש היא באמצעות חבילת ה־RPM הבינארית הבאה.

geresh-0.6.3-1.i586.rpm (274 k)

חבילת RPM זו נבדקה על Red Hat 7.3. אנא דווחו לי אם החבילה פועלת/לא־פועלת על הפצות אחרות.

(אין צורך להתקין לפני כן את ספריית FriBiDi או את ncursesw, כי הן כבר מקושרות סטאטית (statically linked) לקובץ ההרצה הבינארי.)

חבילת דביאן

אם הנך משתמש בהפצה מבוססת דביאן, תוכל להתקין את גרש בקלות באמצעות apt-get; הקלד את הפקודה הבאה:

apt-get install geresh

תודה לליאור קפלן (guides.co.il) על הכנת החבילה.

קוד המקור

לחלופין, תוכל להוריד את קוד המקור כ־tarball ולהדרו בעצמך.

geresh-0.6.3.tar.gz (197 k)

לפני שאתה פותח בריקוד הידוע (‎./configure, make, make install), קרא את מסמך ה־INSTALL. בפרט, אם אתה מעוניין להריץ את גרש במסוף UTF-8, עליך להתקין את ncursesw.

NEWS! 2008-12-30: Please apply this patch to have Geresh compile under newer C++ compilers. Sorry about the inconvenience. (And thanks to the Debian maintainers for fixing this.)

הפעלה

לאחר שהתקנו את גרש נרצה להריצו. גרש מסוגל לרוץ תחת שני סוגים של מסופים: מסופי UTF-8 ומסופי 8 ביט. גרש מגלה את סוג המסוף באמצעות ה־locale הפעיל, ולכן דאג לכוונו כהלכה (באמצעות משתנה הסביבה LC_CTYPE, למשל).

אם רצונך לערוך טקסטים בעברית, וודא שגופן המסוף כולל תווי עברית, ונהג כדלקמן:

שים לב: אם בקידוד המסוף לא ניתן לייצג תווי עברית, ואם האופציה H- לא ניתנה, תראה סימני שאלה (או תווי 'X') בצבע סגול במקום תווי עברית.

לתוכנת אמולצית מסוף UTF-8 טובה מומלץ להשתמש ב־xterm.

הערה למשתמשי Konsole של KDE: יש להשתמש בגרסה 3.1 ומעלה, אחרת תווי העברית יגרמו לשיבוש התצוגה. עם זאת, איני יודע אם Konsole תומך ב־combining-characters, ולכן איני יכול להמליץ על השימוש בו.

אם אתה משתמש במסוף UTF-8, וודאי תרצה להתקין פונט מעודכן הכולל שפע עצום של תווים, כולל תווי ניקוד עברי. המלצה אחת תמצא כאן, במדריך למשתמש, ועוד אחת כאן, באותו מדריך. ההרפתקנים שבחבורה יוכלו לשעשע את עצמם בהנחיות הללו.

בתוך גרש:

אם אין לך מקלדת עברית, הקש Alt+h כדי להפעיל (ולבטל) את המקלדת העברית של גרש.

הקש על F1 כדי לקרוא את המדריך למשתמש.

העבר

גרסאות ישנות של גרש ניתן למצוא כאן.

העתיד

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

שיפורים בדף זה: