אנגליתצרפתיתספרדי

Ad


סמל OnWorks

exposix - מקוון בענן

הפעל את exposix בספק אירוח בחינם של OnWorks על אובונטו מקוון, פדורה מקוון, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה exposix שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


לשעבר - עורך טקסט

תַקצִיר


ex [−rR] [−s|−v] [הפקודה] [−ת מחרוזת תיוג] [−w גודל] [פילה...]

תיאור


אל האני ex utility הוא עורך טקסט מכוון קו. ישנם שני מצבים נוספים של העורך-
פתוח וחזותי - שבהם זמינה עריכה מוכוונת מסך. זה מתואר יותר
באופן מלא על ידי ex לפתוח ו חזותי פקודות ובתוך vi.

אם אופרנד הוא '-', התוצאות אינן מוגדרות.

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

מסופים מסוימים אינם כוללים את כל היכולות הדרושות כדי לתמוך במלואו ex
הגדרה, כגון פקודות העריכה במסך מלא (חזותי מצב or לפתוח מצב). מתי
לא ניתן לתמוך בפקודות אלה במסופים כאלה, מצב זה לא ייצור
הודעת שגיאה כגון ``לא פקודת עורך'' או דיווח על שגיאת תחביר. ה
היישום עשוי לקבל את הפקודות ולהניב תוצאות על המסך שהן
תוצאה של ניסיון לא מוצלח לעמוד בדרישות של כרך זה של
POSIX.1-2008 או דווח על שגיאה המתארת ​​את הליקוי הקשור למסוף.

אפשרויות


אל האני ex כלי השירות יתאים לנפח הגדרות הבסיס של POSIX.1-2008, סעיף 12.2,
שירות תחביר הנחיות, למעט השימוש הלא מוגדר ב '-', וזה '+' יכול להיות
מוכר כמפריד אופציות וכן '-'.

האפשרויות הבאות יתמכו:

הפקודה
ציין פקודה ראשונית לביצוע במאגר העריכה הראשון שנטען ממנו
קובץ קיים (ראה סעיף תיאור מורחב). ביצועים עשויים
לתמוך ביותר מיחיד אוֹפְּצִיָה. ביישומים כאלה, המפורט
הפקודות יבוצעו בסדר המצוין בשורת הפקודה.

−ר שחזר את הקבצים בעלי השם (ראה סעיף תיאור מורחב). התאוששות
מידע עבור קובץ יישמר במהלך קריסת עורך או מערכת (עבור
לדוגמה, כאשר העורך מסתיים על ידי אות שהעורך יכול לתפוס),
או לאחר השימוש ב-an ex לשמר פקודה.

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

אם לא פילה ניתנים אופרנדים וה −ת האפשרות לא צוינה, כל השאר
אפשרויות, ה יציאה משתנה, וכל .exrc תתעלם מקבצים; רשימה של
כל הקבצים הניתנים לשחזור הזמינים למשתמש המזמין ייכתבו, וה-
העורך ייצא כרגיל ללא פעולה נוספת.

לקבוע באופן קריא אפשרות עריכה.

−ס להכין ex לשימוש אצווה על ידי נקיטת הפעולות הבאות:

* דחק הודעות כתיבה והודעות אינפורמטיביות (אך לא אבחנתיות).

* התעלם מהערך של מונח וכל סוג מסוף ברירת המחדל של יישום ו
נניח שהטרמינל הוא סוג שאינו מסוגל לתמוך במצבים פתוחים או חזותיים;
לראות חזותי פקודה ותיאור של vi.

* דיכוי השימוש ב- יציאה משתנה סביבה והקריאה של כל
.exrc קוֹבֶץ; עיין בסעיף תיאור מורחב.

* דיכוי הזחה אוטומטית, תוך התעלמות מהערך של ה- כניסה אוטומטית אפשרות עריכה.

−ת מחרוזת תיוג
ערוך את הקובץ המכיל את הקובץ שצוין מחרוזת תיוג; ראה ctags. תכונת התגים
מיוצג על ידי −ת מחרוזת תיוג ו תג הפקודה היא אופציונלית. זה יהיה
מסופק בכל מערכת המספקת גם יישום תואם של ctags;
אחרת, השימוש ב −ת מייצר תוצאות לא מוגדרות. בכל מערכת, זה יהיה
שגיאה לציון יותר מיחיד −ת אוֹפְּצִיָה.

−v התחל במצב חזותי (ראה vi).

−w גודל הגדר את הערך של ה- חלון אפשרות עורך ל גודל.

אופרנדים


האופרנד הבא יהיה נתמך:

פילה שם נתיב של קובץ שיש לערוך.

STDIN


הקלט הסטנדרטי מורכב מסדרה של פקודות וטקסט קלט, כמתואר ב-
סעיף תיאור מורחב. היישום עשוי להגביל כל שורה של קלט סטנדרטי ל
אורך של {LINE_MAX}.

אם הקלט הסטנדרטי אינו התקן מסוף, זה יהיה כאילו −ס האפשרות הייתה
נָקוּב.

אם קריאה מהקלט הסטנדרטי מחזירה שגיאה, או אם העורך מזהה סוף-
מצב הקובץ מהקלט הסטנדרטי, הוא יהיה שווה ערך ל-SIGHUP אסינכרוני
מִקרֶה.

קלט קבצים


קבצי קלט יהיו קבצי טקסט או קבצים שיהיו קבצי טקסט למעט קבצי טקסט חלקיים
שורה אחרונה שאורכה אינו עולה על {LINE_MAX}-1 בתים ואינה מכילה NUL
דמויות. כברירת מחדל, כל שורה אחרונה שאינה שלמה תטופל כאילו הייתה לה נגרר
. עריכה של צורות אחרות של קבצים עשויה להיות מותרת על ידי ex
מימושים.

אל האני .exrc קבצים וקובצי מקור יהיו קבצי טקסט המורכבים מהם ex פקודות; לראות את
סעיף תיאור מורחב.

כברירת מחדל, העורך יקרא שורות מהקבצים שיש לערוך מבלי לפרש
כל אחת מהשורות האלה כמו כל צורה של פקודת עורך.

הסביבה וריאציות


משתני הסביבה הבאים ישפיעו על הביצוע של ex:

עמודים תעקוף את גודל המסך האופקי שנבחר על ידי המערכת. ראה את הגדרות הבסיס
כרך של POSIX.1-2008, הפרק 8, סביבה משתנים עבור ערכים חוקיים ו
תוצאות כאשר הוא לא מוגדר או ריק.

יציאה קבע רשימה של ex פקודות המבוצעות בעת הפעלת העורך. ראה את
סעיף תיאור מורחב לפרטים נוספים על שלב האתחול.

עמוד הבית קבע שם נתיב של ספרייה שיחפשו עבור עורך התחלה-
קובץ up בשם .exrc; עיין בסעיף תיאור מורחב.

שפה ספק ערך ברירת מחדל עבור משתני הבינאום שאינם מוגדרים או
ריק. (ראה את הכרך של הגדרות הבסיס של POSIX.1-2008, סעיף 8.2,
בינאום משתנים בעד הבכורה של בינאום
משתנים המשמשים לקביעת הערכים של קטגוריות מקומיות.)

LC_ALL אם מוגדר לערך מחרוזת לא ריקה, עוקף את הערכים של כל האחרים
משתני בינאום.

LC_COLLATE
קבע את המקום להתנהגות של טווחים, מחלקות שקילות ורב-
איסוף תווים בתוך ביטויים רגולריים.

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

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

קווים עוקף את גודל המסך האנכי שנבחר על ידי המערכת, המשמש כמספר השורות
במסך ובגודל המסך האנכי במצב חזותי. ראה את הבסיס
נפח הגדרות של POSIX.1-2008, הפרק 8, סביבה משתנים לתקף
ערכים ותוצאות כאשר הוא לא מוגדר או ריק.

NLSPATH קבע את המיקום של קטלוגי הודעות לעיבוד של LC_MESSAGES.

נתיב קבע את נתיב החיפוש עבור פקודת המעטפת שצוינה ב- ex עורך
פקודות !, פָּגָז, לקרוא, ו לכתוב, והפקודה במצב פתוח וחזותי !; ראה
התיאור של חיפוש וביצוע פקודות ב סעיף 2.9.1.1, פיקוד
חיפוש ו הוצאה לפועל.

SHELL קבע את מתורגמן שורת הפקודה המועדף לשימוש כערך ברירת המחדל של
מה היא פָּגָז אפשרות עריכה.

מונח קבע את השם של סוג המסוף. אם משתנה זה אינו מוגדר או null, an
יש להשתמש בסוג מסוף ברירת מחדל לא מוגדר.

אסינכרוני אירועים


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

להשלים לכתוב
כתיבה מלאה היא כתיבה של כל התוכן של מאגר העריכה לקובץ
מסוג אחר מאשר התקן מסוף, או שמירת מאגר העריכה שנגרם
על ידי המשתמש שמבצע את ex לשמר פקודה. כתיבת תוכן העריכה
לחצץ לקובץ זמני שיוסר כאשר העורך ייצא לא
להיחשב ככתיבה שלמה.

הפעולות הבאות יינקטו עם קבלת האותות:

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

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

אחרת:

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

2. אם יש פקודה שמבצעת כעת, היא תבוטל ותשלח הודעה
מוצגת. אלא אם צוין אחרת על ידי ex or vi תיאורי פקודות,
לא מצוין אם שורות כלשהן ששונו על ידי הפקודה המבצעת מופיעות
שונה, או כפי שהיו לפני ששונו על ידי הפקודה המבצעת, ב
המאגר.

אם הפקודה המבצעת כעת הייתה פקודת תנועה, היא משויכת
הפקודה תימחק.

3. אם במצב פקודה פתוחה או חזותית, המסוף יקבל התראה.

4. לאחר מכן העורך יחזור למצב פקודה.

SIGCONT המסך יעבור רענון אם הוא במצב פתוח או חזותי.

SIGHUP אם מאגר העריכה השתנה מאז הכתיבה המלאה האחרונה, ex יהיה
נסה לשמור את מאגר העריכה כך שניתן יהיה לשחזר אותו מאוחר יותר באמצעות −ר
אופציה או ex לשחזר פקודה. העורך לא יכתוב את הקובץ או יחזיר
למצב פקודה או קלט טקסט, ויסתיים במצב יציאה שאינו אפס.

SIGTERM עיין ב-SIGHUP.

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

STDOUT


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

STDERR


השגיאה הסטנדרטית תשמש רק עבור הודעות אבחון.

תפוקה קבצים


התפוקה מ ex יהיו קבצי טקסט.

מורחבים תיאור


רק ה ex מצב העורך מתואר בסעיף זה. לִרְאוֹת vi לעריכה נוספת
יכולות זמינות ב ex.

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

כברירת מחדל, ex יתחיל במצב פקודה, אשר יצוין על ידי א : מיידי; לִרְאוֹת
מה היא הפקודה פקודה. ניתן להיכנס למצב קלט טקסט על ידי לצרף, להכניס, או שינוי
פקודות; ניתן לצאת ממנו (ולכניסה מחדש למצב פקודה) על ידי הקלדת a ('.') לבד
בתחילת שורה.

אתחול in ex ו vi
הסמלים הבאים משמשים בחלק זה ובסעיפים הבאים כדי לציין מיקומים ב
ערוך מאגר:

חלופי ו נוֹכְחִי שמות נתיבים
שני שמות נתיבים, בשם נוֹכְחִי ו חלופי, מתוחזקים על ידי העורך. כל ex
פקודות שלוקחות שמות קבצים כארגומנטים יגדירו אותם באופן הבא:

1. אם א פילה הארגומנט מצוין ל- ex עריכה, ex, או לשחזר פקודות, או אם
an ex תג הפקודה מחליפה את התוכן של מאגר העריכה.

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

ב. אחרת, שם הנתיב החלופי יוגדר ל- פילה ויכוח.

2. אם א פילה הארגומנט מצוין ל- ex הבא פקודה:

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

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

4. אם א פילה הארגומנט מצוין ל- ex לקרוא ו לכתוב פקודות (כלומר מתי
קריאה או כתיבה של קובץ, ולא לתוכנית ששמה ה- פָּגָז עריכה
אפשרות), או א פילה הארגומנט מצוין ל- ex שיט פקודה:

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

ב. אחרת, שם הנתיב החלופי יוגדר ל- פילה ויכוח.

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

נוֹכְחִי קו
השורה של מאגר העריכה שאליו הסמן מתייחס. תיאור כל פקודה
מציין את השורה הנוכחית לאחר ביצוע הפקודה, בתור נוֹכְחִי קו
ערך. כאשר מאגר העריכה אינו מכיל שורות, השורה הנוכחית תהיה אפס; לִרְאוֹת
פְּנִיָה in ex.

נוֹכְחִי סקירה
עמודת שורת התצוגה הנוכחית תפוסה על ידי הסמן. (העמודים יהיו
ממוספר מתחיל ב-1.) כל תיאור פקודה מציין את העמודה הנוכחית
לאחר ביצוע הפקודה, כמו ה- נוֹכְחִי סקירה ערך. עמודה זו היא
אידאל טור הזכור לאורך חיי העורך. התצוגה בפועל
עמודת הקו שעליה נשען הסמן עשויה להיות שונה מהעמודה הנוכחית;
ראה את הדיון על מיקום הסמן ב פיקוד תיאורים in vi.

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

אורך השורות במאגר העריכה עשוי להיות מוגבל ל-{LINE_MAX} בתים. בפתוח ו
במצב חזותי, אורך השורות במאגר העריכה עשוי להיות מוגבל למספר של
תווים שיתאימו לתצוגה. אם חריגה מאחת מהגבלות במהלך העריכה, א
הודעת שגיאה תיכתב. אם חורגת מאחת מהמגבלות על ידי שורה שנקראת מקובץ,
תיכתב הודעת שגיאה וניתן להפסיק את סשן העריכה.

אם העורך מפסיק לפעול מכל סיבה שהיא מלבד פקודת משתמש, והעריכה
המאגר השתנה מאז הכתיבה המלאה האחרונה, הוא יהיה שווה ערך ל-SIGHUP
אירוע אסינכרוני. אם המערכת קורסת, זה יהיה שווה ערך ל-SIGHUP אסינכרוני
מִקרֶה.

במהלך האתחול (לפני שהקובץ הראשון מועתק למאגר העריכה או לכל משתמש
פקודות מהמסוף מעובדות) יתרחשו הדברים הבאים:

1. אם משתנה הסביבה יציאה מוגדר, העורך יבצע את ex פקודות
הכלול במשתנה הזה.

2. אם יציאה המשתנה אינו מוגדר, וכל הדברים הבאים נכונים:

א. ה עמוד הבית משתנה הסביבה אינו null ואינו ריק.

ב. הקובץ .exrc בספרייה שאליה מתייחס ה- עמוד הבית משתנה הסביבה:

אני. קיים

ii. הוא בבעלות אותו מזהה משתמש כמו מזהה המשתמש האמיתי של התהליך או של
לתהליך יש הרשאות מתאימות

iii. לא ניתן לכתיבה על ידי אף אחד מלבד הבעלים

העורך יבצע את ex פקודות הכלולות בקובץ זה.

3. אם ורק אם כל הדברים הבאים נכונים:

א. הספרייה הנוכחית אינה מוזכרת על ידי עמוד הבית משתנה הסביבה.

ב. פקודה ב יציאה משתנה סביבה או פקודה ב- .exrc הקובץ
ספרייה שאליה מתייחס ה עמוד הבית משתנה סביבה מגדיר את אפשרות העורך
exrc.

ג .exrc קובץ בספרייה הנוכחית:

אני. קיים

ii. בבעלות אותו מזהה משתמש כמו מזהה המשתמש האמיתי של התהליך, או על ידי אחד מהם
קבוצה של מזהי משתמש המוגדרים ביישום

iii. לא ניתן לכתיבה על ידי אף אחד מלבד הבעלים

העורך ינסה לבצע את ex פקודות הכלולות בקובץ זה.

קווים בכל .exrc תתעלם מהקובץ שהם שורות ריקות. אם בכלל .exrc הקובץ קיים,
אך לא נקרא מטעמי בעלות או הרשאה, זו תהיה שגיאה.

לאחר יציאה משתנה וכל .exrc הקבצים מעובדים, הקובץ הראשון מצוין על ידי
המשתמש ייערך, באופן הבא:

1. אם המשתמש ציין את −ת אפשרות, ההשפעה תהיה כאילו ex תג הפקודה הייתה
הוזן עם הארגומנט שצוין, למעט שאם עיבוד התגים כן
לא יביא לקובץ לעריכה, ההשפעה תהיה כמתואר בשלב 3 להלן.

2. אחרת, אם המשתמש ציין שורת פקודה כלשהי פילה טיעונים, ההשפעה תהיה
כאילו ה ex עריכה הפקודה הוכנסה עם הטיעון הראשון של אותם טיעונים פילה
ויכוח.

3. אחרת, ההשפעה תהיה כאילו ex עריכה הפקודה הוזנה עם א
שם קובץ לא קיים כמותו פילה טַעֲנָה. לא מצוין אם פעולה זו תעשה
הגדר את שם הנתיב הנוכחי. ביישום שבו פעולה זו אינה מגדירה את
שם הנתיב הנוכחי, כל פקודת עורך המשתמשת בשם הנתיב הנוכחי תיכשל עד ל-
פקודת עורך מגדירה את שם הנתיב הנוכחי.

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

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

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

פְּנִיָה in ex
פנייה פנימה ex מתייחס לקו הנוכחי ולעמודה הנוכחית; כתובת של קו
הוא מספר השורה המבוסס 1 שלה, הכתובת של עמודה היא ספירת ה-1 שלה מה-
תחילת השורה. בדרך כלל, השורה הנוכחית היא השורה האחרונה המושפעת מפקודה.
מספר הקו הנוכחי הוא הכתובת של הקו הנוכחי. בכל תיאור פקודה,
מתוארת השפעת הפקודה על מספר השורה הנוכחית והעמודה הנוכחית.

הכתובות בנויות באופן הבא:

1. הדמות '.' (נקודה) תתייחס לקו הנוכחי.

2. הדמות '$' יתייחס לשורה האחרונה של מאגר העריכה.

3. המספר העשרוני החיובי n יתייחס ל nהשורה ה' של מאגר העריכה.

4. הכתובת "'איקס" מתייחס לקו המסומן בתו שם הסימן 'איקס', אשר
תהיה אות קטנה ממערך התווים הנייד, תו הציטוט האחורי,
או תו מרכאה בודדת. זו תהיה שגיאה אם ​​השורה שסומנה אינה כזו
קיים כעת במאגר העריכה או שהסימן לא הוגדר. ניתן לסמן קווים
עם ex סימן or k פקודות, או ה vi m פקודה.

5. ביטוי רגולרי מוקף ב דמויות ('/') יתייחס לשורה הראשונה
נמצא על ידי חיפוש קדימה מהקו העוקב אחר הקו הנוכחי לקראת סוף
מאגר העריכה ועצירה בשורה הראשונה שעבורה השורה לא כולל את
מסתיים מתאים לביטוי הרגולרי. כפי שנאמר ב רגיל ביטויים
in ex, כתובת המורכבת מביטוי רגולרי אפס המופרד על ידי
דמויות ("//") יפנה לשורה הבאה שעבורה השורה למעט ה
מסתיים תואם את הביטוי הרגולרי האחרון שנתקל בו. בנוסף,
השני ניתן להשמיט בסוף שורת הפקודה. אם ה לעטוף עריכה
האפשרות מוגדרת, החיפוש יעבור לתחילת מאגר העריכה ו
המשך עד וכולל השורה הנוכחית, כך שכל מאגר העריכה יהיה
חיפשו. בתוך הביטוי הרגולרי, הרצף "\/" ייצג מילולית
במקום מפריד הביטוי הרגיל.

6. ביטוי רגולרי מוקף ב דמויות ('?') יתייחס ל
השורה הראשונה שנמצאה על ידי חיפוש אחורה מהשורה שלפני השורה הנוכחית
לקראת תחילת מאגר העריכה ועצירה בשורה הראשונה שעבורה ה-
קו למעט הסיום מתאים לביטוי הרגולרי. כתובת
המורכב מביטוי רגולרי אפס המופרד על ידי דמויות ("??")
יתייחס לקו הקודם שעבורו הקו למעט המסיים
תואם את הביטוי הרגולרי האחרון שנתקל בו. בנוסף, השני
סימן> ניתן להשמיט בסוף שורת הפקודה. אם ה לעטוף אפשרות עריכה מוגדרת,
החיפוש יעבור מתחילת מאגר העריכה ועד לסוף
ערוך מאגר והמשך עד וכולל השורה הנוכחית, כך שכל העריכה
מתבצע חיפוש במאגר. בתוך הביטוי הרגולרי, הרצף "\?" ייצג את א
מילולית במקום התוחם RE.

7. א ('+') או סימן מינוס ('-') ואחריו מספר עשרוני יכתוב
השורה הנוכחית פלוס או מינוס המספר. א '+' or '-' לא אחריו עשרוני
המספר יפנה לשורה הנוכחית פלוס או מינוס 1.

ניתן לעקוב אחרי כתובות אפס או יותר קיזוז כתובות, לחלופין -מופרד.
קיזוז כתובות בנויים באופן הבא:

1. '+' or '-' מיד אחריו מספר עשרוני יוסיף (תחסיר) את
מספר השורות המצוין אל (מ) הכתובת. א '+' or '-' לא אחריו א
מספר עשרוני יוסיף (תחסיר) 1 אל (מן) הכתובת.

2. מספר עשרוני יוסיף את מספר השורות המצוין לכתובת.

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

פקודות לוקחות אפס, כתובת אחת או שתיים; ראה את התיאורים של 1addr ו 2addr in
פיקוד תיאורים in ex. אם יסופקו יותר ממספר הכתובות הנדרש
פקודה שדורשת אפס כתובות, זו תהיה שגיאה. אחרת, אם יותר מה
המספר הנדרש של כתובות מסופק לפקודה, הכתובות שצוינו תחילה
יוערך ולאחר מכן ימחק עד שיישאר המספר המרבי של כתובות חוקיות.

כתובות יופרדו זו מזו על ידי א (',') או א (';').
אם לא צוינה כתובת לפני או אחרי א אוֹ מפריד, זה יהיה
כאילו הכתובת של השורה הנוכחית צוינה לפני או אחרי המפריד. בתוך ה
מקרה של א מפריד, הקו הנוכחי ('.') יוגדר לראשון
כתובת, ורק אז תחושב הכתובת הבאה. ניתן להשתמש בתכונה זו
לקבוע את קו הזינוק לחיפושים קדימה ואחורה (ראה כללים 5. ו-6.).

א ('%') יהיה שווה ערך להזנת שתי הכתובות "1,$".

כל תוחם תווים בין כתובות, מפרידי כתובות או כתובת
הקיזוזים יימחקו.

פיקוד קו ניתוח in ex
הסמל הבא משמש בסעיפים זה ובסעיפים הבאים כדי לתאר התנהגות ניתוח:

לברוח אם תו מכונה `` -נמלט'' או '' -V-
נמלט'', המשמעות היא שהדמות קיבלה או איבדה משמעות מיוחדת
מתוקף היותו קדם, בהתאמה, א אוֹ -V
אופי. אלא אם צוין אחרת, תו הבורחת יימחק
במועד זה ולא יישקל עוד לכל מטרה.

ניתוח שורת הפקודה ייעשה בשלבים הבאים. עבור כל שלב, תווים
יתעלם כבר מההערכה; כלומר, הביטוי ``דמות מובילה'' מתייחס אליו
הדמות הבאה שעדיין לא הוערכה.

1. מובילים יש לדלג על תווים.

2. מובילים יש לדלג על תווים.

3. אם הדמות המובילה היא דמות מרכאות כפולות, התווים עד ו
כולל הלא- -נמלט יושלך, וכל
התווים הבאים ינותחו כפקודה נפרדת.

4. תווים מובילים שניתן לפרש ככתובות יוערכו; לִרְאוֹת
פְּנִיָה in ex.

5. מובילים יש לדלג על תווים.

6. אם התו הבא הוא א דמות או א :

א. אם התו הבא הוא א :

אני. אם ex במצב פתוח או חזותי, הקו הנוכחי יוגדר לאחרון
הכתובת שצוינה, אם קיימת.

ii. אחרת, אם הפקודה האחרונה הופסקה על ידי א אופי,
לא תינקט כל פעולה; למשל, הפקודה "|| " יהיה
לבצע שתי פקודות מרומזות, לא שלוש.

iii. אחרת, שלב 6.ב. יחול.

ב. אחרת, הפקודה המשתמעת תהיה הדפסה פקודה. האחרון #, p, ו l
דגלים שצוינו לכל ex פקודה תיזכר ותחול על כך
פקודה מרומזת. ביצוע ה ex מספר, הדפסה, או רשימה הפקודה תגדיר את
זכר דגלים ל #, כלום ו l, בהתאמה, בתוספת כל דגלים אחרים
שצוין לאותו ביצוע של ה מספר, הדפסה, או רשימה פקודה.

If ex אינו מבצע כעת א גלוֹבָּלִי or v פקודה, ואין כתובת או ספירה
צוין, השורה הנוכחית תוגדל ב-1 לפני שהפקודה היא
יצא לפועל. אם הגדלת השורה הנוכחית תגרום לכתובת מעבר ל-
השורה האחרונה במאגר העריכה, הפקודה תיכשל, והתוספת לא תיכשל
לקרות.

ג. ה אוֹ תו יימחק וכל תו אחר
תווים ינותחו כפקודה נפרדת.

7. שם הפקודה יורכב מהתו הבא (אם התו אינו
אלפביתי), או התו הבא וכל התווים האלפביתיים הבאים (אם
התו הוא אלפביתי), למעט החריגים הבאים:

א. פקודות המורכבות מקידומת כלשהי של התווים בשם הפקודה להסיר,
מיד אחריו כל אחת מהדמויות 'אני', 'פ', '+', '-', או '#' אמור להיות
מתפרש כא להסיר פקודה, ואחריה א , ואחריו הדמויות
שלא היו חלק מהקידומת של ה להסיר פקודה. המספר המרבי של
התווים יותאמו לשם הפקודה להסיר; לדוגמה, "דל" יהיה
לא להתייחס אליו כאל "דה" ואחריו הדגל l.

ב. פקודות המורכבות מהדמות 'ק', ואחריו דמות שיכולה להיות
המשמש כשם של סימן, יהיה שווה ערך לפקודה סימן ואחריה א
, ואחריו הדמות שבאה אחרי ה 'ק'.

ג. פקודות המורכבות מהדמות 's', ואחריו דמויות שיכולות להיות
לפרש כאפשרויות תקפות ל s פקודה, תהיה המקבילה ל- s
פקודה, ללא כל תבנית או ערכי החלפה, ואחריה א ,
ואחריו הדמויות שאחרי ה 's'.

8. שם הפקודה יותאם לשמות הפקודות האפשריים, ופקודה
שם המכיל קידומת התואמת לתווים שצוין על ידי המשתמש יהיה ה
הפקודה ביצעה. במקרה של פקודות שבהן התווים שצוינו על ידי המשתמש
יכול להיות מעורפל, הפקודה שתבוצע תהיה כדלקמן:

┌───┬────────┬┬───┬───────┬┬┬┬──────
aלצרף ││nהבא ││tt
cשינוי ││pהדפסה ││uלבטל
chשינוי ││prהדפסה ││unלבטל
eעריכה ││rלקרוא ││vv
mהמהלך ││reלקרוא ││wלכתוב
maסימן ││ss ││ │ │
└───┴────────┴┴───┴───────┴┴┴─────
הרחבות יישום עם שמות הגורמים לעמימות דומות לא ייבדקו
עבור התאמה עד שכל ההתאמות האפשריות עבור הפקודות שצוינו ב-POSIX.1-2008 יהיו
נבדק.

9. אם הפקודה היא א ! פקודה, או אם הפקודה היא א לקרוא פקודה ואחריה אפס
או יותר דמויות וא !, או אם הפקודה היא א לכתוב פקודה ואחריה
אחד או יותר דמויות וא !, שאר הפקודה תכלול את כולם
תווים עד לא- -נמלט . ה אמור להיות
נמחק וכל התווים הבאים ינותחו כתווים נפרדים ex פקודה.

10. אחרת, אם הפקודה היא an עריכה, ex, או הבא פקודה, או א חזותי פקודה תוך כדי
במצב פתוח או חזותי, החלק הבא של הפקודה ינותח באופן הבא:

א. כל '!' תו מיד לאחר הפקודה ידלג ויהיה חלק
של הפקודה.

ב. כל מוביל יש לדלג על התווים ולהיות חלק מהפקודה.

ג. אם התו הבא הוא א '+', תווים עד לא- הראשון -נמלט
או לא- -נמלט ידלג ויהווה חלק מה-
פקודה.

ד. שאר הפקודה תקבע לפי השלבים המפורטים בפסקה
12.

11. אחרת, אם הפקודה היא א גלוֹבָּלִי, לפתוח, s, או v הפקודה, החלק הבא של
הפקודה תנתח באופן הבא:

א. כל מוביל יש לדלג על התווים ולהיות חלק מהפקודה.

ב. אם התו הבא אינו אלפאנומרי, מרכאות כפולות, ,
, או אופי:

אני. התו הבא ישמש כמפריד פקודה.

ii. אם הפקודה היא א גלוֹבָּלִי, לפתוח, או v פקודה, תווים עד הראשון
לֹא -נמלט , או ראשון לא- -תוחם נמלט
תו, ידלג ויהווה חלק מהפקודה.

iii. אם הפקודה היא an s פקודה, תווים עד הראשון
לֹא -נמלט , או שני לא- -נמלט
תו מפריד, ידלג ויהווה חלק מהפקודה.

ג. אם הפקודה היא א גלוֹבָּלִי or v פקודה, תווים עד הראשון
לֹא -נמלט ידלג ויהווה חלק מהפקודה.

ד. אחרת, שאר הפקודה תקבע לפי השלבים המפורטים ב
פיסקה 12.

12. אחרת:

א. אם הפקודה הייתה א מַפָּה, בטל את המפה, לְקַצֵר, או לא מקוצר פקודה, תווים
עד הלא- הראשון -V-נמלט , , או כפול
תו ציטוט ידלג ויהווה חלק מהפקודה.

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

ג. אם הפקודה הייתה an לצרף, שינוי, או להכניס הפקודה, והשלב 12.ב. הסתיים
ב-a תו, כל התווים הבאים, עד הבא
לֹא -נמלט ישמש כטקסט קלט לפקודה.

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

ה. הסיום אוֹ תו יימחק וכל דמות
התווים הבאים ינותחו כפרטים ex פקודה.

ארגומנטים של פקודה ינותחו כמתואר בתקציר ובתיאור של כל אחד מהם
בנפרד ex פקודה. ניתוח זה לא יהיה -רגיש, פרט ל- !
ארגומנט, שחייב לעקוב אחר שם הפקודה מבלי להתערב דמויות, ו
במקום שבו זה יהיה מעורפל. לדוגמה, לספור ו דגל טיעונים לא צריכים להיות
-מופרדים בגלל "d22p" אינו מעורפל, אבל פילה טיעונים ל ex הבא
יש להפריד בפקודה אחת או יותר דמויות. כל בפקודה
טיעונים ל לְקַצֵר, לא מקוצר, מַפָּה, ו בטל את המפה פקודות יכולות להיות -V-
נמלט, ובמקרה זה לא ישמש כמפריד טיעון. כל
בארגומנט הפקודה עבור כל פקודה אחרת יכולה להיות -נמלט, ובמקרה זה
זֶה לא ישמש כמפריד טיעון.

בתוך ארגומנטים פקודה עבור לְקַצֵר, לא מקוצר, מַפָּה, ו בטל את המפה פקודות, כלשהן
אופי יכול להיות -V-נמלט. כל הדמויות שנמלטו כאלה יטופלו
פשוטו כמשמעו ולא תהיה לו משמעות מיוחדת. בתוך ארגומנטים פקודה עבור כל השאר ex
פקודות שאינן ביטויים רגולריים או מחרוזות החלפה, כל תו שיעשה זאת
אחרת יש משמעות מיוחדת יכולה להיות -נמלט. תווים בריחה יהיו
התייחסו פשוטו כמשמעו, ללא משמעות מיוחדת כדמויות הרחבת מעטפת או '!', '%', ו
'#' דמויות הרחבה. לִרְאוֹת רגיל ביטויים in ex ו תחליף מחרוזות in ex ל
תיאורים של ארגומנטים של פקודה שהם ביטויים רגולריים או מחרוזות החלפה.

לֹא- -נמלט '%' דמויות המופיעות ב פילה טיעונים לכל ex הפקודה תהיה
יוחלף בשם הנתיב הנוכחי; לא נמלט '#' התווים יוחלפו ב-
שם נתיב חלופי. זו תהיה טעות אם '%' or '#' דמויות מופיעות ללא בריחה ב-an
ארגומנט והערכים המתאימים להם אינם מוגדרים.

לֹא- -נמלט '!' תווים בטיעונים ל- ex ! פקודה או
המצב הפתוח והחזותי ! הפקודה, או בטיעונים ל- ex לקרוא פקודה, שם ה
ראשון לא- אחרי שם הפקודה הוא a '!' תו, או בטיעונים ל-
ex לכתוב פקודה כאשר שם הפקודה מלווה באחד או יותר דמויות ו
הלא הראשון אחרי שם הפקודה הוא a '!' תו, יוחלף ב
הטיעונים עד האחרון מבין שלוש הפקודות הללו כפי שהופיעו, בסופו של דבר לא נמלטו
'%', '#', ו '!' הדמויות הוחלפו. זו תהיה טעות אם '!' תווים
מופיעים לא נמלטים באחת מהפקודות הללו ולא היה ביצוע קודם של אחת
מהפקודות הללו.

אם מתרחשת שגיאה במהלך הניתוח או הביצוע של ex פקודה:

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

* אם ה ex הפקודה נבעה מהרחבת המפה, כל התווים מאותה המפה
הרחבה תימחק, אלא אם צוין אחרת על ידי מַפָּה פקודה.

* אחרת, אם ה ex הפקודה נבעה מעיבוד של an יציאה סביבה
משתנה, א .exrc קובץ, א :מָקוֹר פקודה, א אפשרות, או א +הפקודה שצוין לא
ex עריכה, ex, הבא, או חזותי פקודה, אין פקודות נוספות ממקור ה-
פקודות יבוצעו.

* אחרת, אם ה ex הפקודה נבעה מביצוע של מאגר או a גלוֹבָּלִי or v
פקודה, אין פקודות נוספות הנגרמות על ידי ביצוע המאגר או ה- גלוֹבָּלִי or v
הפקודה תתבצע.

* אחרת, אם ה ex הפקודה לא הופסקה על ידי א , כל הדמויות עד
וכולל הלא- -נמלט יימחק.

קֶלֶט עריכה in ex
הסמל הבא משמש בסעיפים זה ובסעיפים הבאים כדי לציין פקודה
פעולות:

מילה במקום POSIX, מילה מורכבת מרצף מקסימלי של אותיות, ספרות,
וקווים תחתונים, מופרדים בשני הקצוות על ידי תווים שאינם אותיות,
ספרות, או קווים תחתונים, או בתחילת או סוף שורה או מאגר העריכה.

בעת קבלת תווי קלט מהמשתמש, בכל אחד מהם ex מצב פקודה או ex קלט טקסט
מצב, ex יאפשר עיבוד קלט במצב קנוני, כפי שהוגדר בממשקי המערכת
כרך של POSIX.1-2008.

אני סנפיר ex מצב קלט טקסט:

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

2. אם כניסה אוטומטית אפשרות עריכה מוגדרת, ex יבקש קלט באמצעות כניסה אוטומטית
תווים, כמתואר על ידי כניסה אוטומטית אפשרות עריכה. כניסה אוטומטית תווים יהיו
עקוב אחר מספר השורה, אם יש.

אני סנפיר ex מצב פקודה:

1. אם הפקודה אפשרות העריכה מוגדרת, הקלט יתבקש להשתמש בסינגל ':'
אופי; אחרת, לא תהיה הנחיה.

לתווי הקלט בסעיפים הבאים יהיו ההשפעות הבאות על
שורת קלט.

גְלִילָה
תַקצִיר:
eof

ראה תיאור ה- stty eof אופי ב stty.

אני סנפיר ex מצב פקודה:

אם eof תו הוא התו הראשון שהוזן בשורה, השורה תהיה
מוערך כאילו הוא מכיל שני תווים: א -ד וא .

אחרת ה eof לדמות לא תהיה משמעות מיוחדת.

אני סנפיר ex מצב קלט טקסט:

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

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

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

אחרת, אם אין כניסה אוטומטית או תווי קלט טקסט בשורה, ה eof
תו יימחק.

אחרת ה eof לדמות לא תהיה משמעות מיוחדת.


תַקצִיר:

-J

אני סנפיר ex מצב פקודה:

גורם לניתוח שורת הפקודה; ‐J ימופה ל-
למטרה זו.

אני סנפיר ex מצב קלט טקסט:

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

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


תַקצִיר:


אפשר את כניסתו של עוקב אוֹ ‐J כדמות מילולית, מסירה
כל משמעות מיוחדת שעשויה להיות לו לעורך במהלך מצב קלט טקסט. ה
התו יישמר ויוערך כאשר שורת הפקודה מנותחת, או נשמרת ו
נכלל כאשר טקסט הקלט הופך לחלק ממאגר העריכה.

-V
תַקצִיר:
-V

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

אם הפונקציונליות של ``הבא המילולי'' מבוצעת על ידי המערכת הבסיסית, היא כן
מימוש מוגדר אם תו אחר מאשר -V מבצע את הפונקציה הזו.

-W
תַקצִיר:
-W

לזרוק את ‐W, והמילה הקודמת לה בשורת הקלט, כולל כל
תווים אחרי המילה ולפני ה- -W. אם המילה
פונקציונליות המחיקה מבוצעת על ידי המערכת הבסיסית, היא מוגדרת ביישום
אם דמות אחרת מאשר ‐W מבצע את הפונקציה הזו.

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

1addr כתובת שורה אחת, הניתנת בכל אחד מהטפסים המתוארים ב פְּנִיָה in ex;
ברירת המחדל תהיה השורה הנוכחית ('.'), אלא אם כן צוין אחרת.

אם כתובת השורה היא אפס, זו תהיה שגיאה, אלא אם צוין אחרת ב
תיאורי הפקודות הבאים.

אם מאגר העריכה ריק, והכתובת מצוינת בפקודה אחרת
מֵאֲשֶׁר =, לצרף, להכניס, לפתוח, גם, לקרוא, או חזותי, או שהכתובת אינה אפס,
זו תהיה טעות.

2addr שתי כתובות המציינות טווח כולל של קווים. אם אין כתובות
שצוין, ברירת המחדל עבור 2addr יהיה הקו הנוכחי בלבד (".,."), אלא אם כן
מצוין אחרת בתיאורי הפקודות הבאים. אם כתובת אחת היא
נָקוּב, 2addr יציין את השורה הזו בלבד, אלא אם צוין אחרת ב-
תיאורי הפקודות הבאים.

זו תהיה שגיאה אם ​​הכתובת הראשונה גדולה מהכתובת השנייה.

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

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

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

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

השורות שייכתבו הן כדלקמן:

1. כל עריכת שורות המאגר שנכתבו במהלך ביצוע ה- ex &, ~, רשימה,
מספר, לפתוח, הדפסה, s, חזותי, ו z הפקודות ייכתבו כמפורט
by דגלים.

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

הדמויות '+' ו '-' לגרום לערך של השורה הנוכחית אחרי ה
ביצוע של ex פקודה להתאמה לפי כתובת ההיסט כמתואר ב
פְּנִיָה in ex. התאמה זו תתרחש לפני שהקו הנוכחי הוא
כתוב כמתואר בסעיף 2. לעיל.

ברירת המחדל עבור דגלים לא יהיה אף אחד.

חיץ אחד ממספר אזורים בעלי שם להחזקת טקסט. המאגרים בעלי השם מצוינים
לפי התווים האלפאנומריים של המקום POSIX. יהיה גם אחד
חיץ ``ללא שם''. כאשר לא צוין מאגר עבור פקודות עורך המשתמשות ב-a
מאגר, ישמש במאגר ללא שם. פקודות המאחסנות טקסט במאגרים
יאחסן את הטקסט כפי שהיה לפני כניסת הפקודה לתוקף, ויאחסן
טקסט שמתרחש מוקדם יותר בקובץ לפני טקסט שמתרחש מאוחר יותר בקובץ,
ללא קשר לאופן שבו צוין אזור הטקסט. פקודות המאחסנות טקסט ב
מאגרים יאחסנו את הטקסט במאגר ללא שם, כמו גם בכל שצוין
מאגר.

In ex פקודות, שמות מאגר מצוינים כשם בפני עצמו. בפתוח או
פקודות מצב חזותי לפני השם יש מרכאה כפולה ('"') אופי.

אם שם המאגר שצוין הוא תו גדול, ותוכן המאגר
יש לשנות, המאגר יצורף אליו במקום להיות
מוחלף. אם המאגר אינו בשינוי, ציון שם המאגר ב
לאותיות קטנות ולאותיות רישיות יהיו תוצאות זהות.

יהיו גם מאגרים בשם המספרים 1 עד 9. בפתוח וחזותי
מצב, אם אזור טקסט הכולל תווים מיותר משורה בודדת הוא
משתנה על ידי ה vi c or d פקודות, דמות התנועה הקשורה אליה
מה היא c or d commands מציינת שטקסט המאגר יהיה במצב שורה, או את
פקודות %, `, /, ?, (, ), N, n, {, או } משמשים להגדרת אזור טקסט עבור
מה היא c or d פקודות, התוכן של מאגרים 1 עד 8 יועבר ל-
מאגר הנקרא על ידי הערך הגדול הבא מבחינה מספרית, התוכן של מאגר 9
יימחק, ואזור הטקסט יועתק למאגר 1. זה
יהיה בנוסף להעתקת הטקסט למאגר שצוין על ידי המשתמש או ללא שם
חיץ, או שניהם. ניתן לציין מאגרים מספריים כמאגר מקור עבור פתיחה
ופקודות מצב חזותי; עם זאת, ציון מאגר מספרי ככתיבה
למטרה של פקודת מצב פתוח או חזותי יהיו תוצאות לא מוגדרות.

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

פילה טקסט פקודה המשמש לגזירת שם נתיב. ברירת המחדל תהיה הנוכחית
שם נתיב, כפי שהוגדר קודם לכן, ובמקרה זה, אם אין עדיין שם נתיב נוכחי
נקבע כי זו תהיה טעות, למעט אם צוין במפורש ב
תיאורי פקודות בודדים הבאים. אם טקסט הפקודה מכיל
של הדמויות '~', '{', '[', '*', '?', '$', '"', ציטוט אחורי, ציטוט יחיד,
ו , הוא יהיה נתון לתהליך של ``הרחבות מעטפת'',
כמפורט להלן; אם מתקבל יותר משם נתיב בודד והפקודה
מצפה רק לאחד, זו תהיה שגיאה.

תהליך הרחבות המעטפת בעורך ייעשה באופן הבא. ה ex
השירות יעביר שני ארגומנטים לתוכנית הנקראת על ידי אפשרות עריכת המעטפת;
הראשון יהיה ,והשני יהיה המחרוזת "הֵד" והפקודה
טקסט כטיעון יחיד. הפלט הסטנדרטי ושגיאת התקן של זה
הפקודה תחליף את טקסט הפקודה.

! תו שניתן לצרף לשם הפקודה כדי לשנות את פעולתה, כמו
מפורט בתיאורי הפקודות הבודדות. למעט ה ex
לקרוא, לכתוב, ו ! פקודות, ה '!' התו ישמש כמשנה רק אם
אין תווים בינו לבין שם הפקודה.

זכור search כיוון
אל האני vi פקודות N ו n להתחיל לחפש בכיוון קדימה או אחורה פנימה
מאגר העריכה מבוסס על כיוון חיפוש זכור, שהוא בתחילה
לא מוגדר, ומוגדר על ידי ה ex גלוֹבָּלִי, v, s, ו תג פקודות, ואת vi / ו ?
פקודות.

לְקַצֵר
תַקצִיר:
אב[לקצר][לה rhs]

If לה ו rhs אינם מצוינים, כתוב את רשימת הקיצורים הנוכחית ואל תעשה דבר
יותר.

יישום עשוי להגביל את קבוצת התווים המתקבלת ב לה or rhsחוץ מזה
תווים להדפסה ו תווים לא יהיו מוגבלים. נוֹסָף
ההגבלות יוגדרו ביישום.

בשניהם לה ו rhs, ניתן לברוח מכל תו עם א ‐V, במקרה זה ה
אין להשתמש בתו לתיחום לה החל מ- rhs, והבריחה -V יהיה
מוּשׁלָך.

במצב קלט טקסט פתוח וויזואלי, אם לא מילה או דמות שאינה נמלטת
על ידי א תו ‐V מוזן אחרי תו מילה, יש לבדוק את א
סט תווים תואמים לה, בקלט הטקסט שהוזן במהלך פקודה זו. אם זה
נמצא, ההשפעה תהיה כאילו rhs הוזן במקום לה.

קבוצת התווים המסומנת מוגדרת באופן הבא:

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

2. אם התו הוכנס לפני המילה ואי-מילה או דמויות ש
מופעל המחאה היא תו מילה, קבוצת התווים תהיה מורכבת מה-
תווים שהוכנסו מיד לפני התווים המפעילים שהם מילה
תווים, בתוספת תו המילה המפעילה.

3. אם התו הוכנס לפני המילה ואי-מילה או דמויות ש
מופעל הסימון אינו תו מילה, קבוצת התווים תכלול
הדמויות שהוכנסו לפני הדמויות המפעילות שאינן שניהם
תווים ולא תווי מילים, בתוספת תו המילה המפעילה.

לא מצוין אם ה לה ארגומנט שהוזן עבור ה ex לְקַצֵר ו לא מקוצר
פקודות מוחלפות בצורה זו. לא משנה אם ההחלפה מתרחשת או לא,
השפעת הפקודה תהיה כאילו ההחלפה לא התרחשה.

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

צרף
תַקצִיר:
[1addr] a[תלויים][!]

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

פקודה זו תושפע מה- מספר ו כניסה אוטומטית אפשרויות עריכה; בעקבות ה
שם פקודה עם '!' יגרום ל כניסה אוטומטית ערוך הגדרה של אפשרות למעבר
משך הפקודה הזו בלבד.

נוֹכְחִי קו: הגדר לשורת הקלט האחרונה; אם לא הוכנסו קווים, הגדר לצוין
שורה, או לשורה הראשונה של מאגר העריכה אם צוינה שורת אפס, או אפס אם
מאגר העריכה ריק.

נוֹכְחִי סקירה: מוגדר לא- .

טיעונים
תַקצִיר:
אר[gs]

כתוב את רשימת הארגומנטים הנוכחית, עם הערך הנוכחי של רשימת הארגומנטים, אם יש, בין '['
ו ']' תווים.

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

שינוי
תַקצִיר:
[2addr] c[hange][!][לספור]

זן ex מצב קלט טקסט; טקסט הקלט יחליף את השורות שצוינו. המסויים
שורות יועתקו למאגר ללא שם, שיהפוך למאגר מצב קו.

פקודה זו תושפע מה- מספר ו כניסה אוטומטית אפשרויות עריכה; בעקבות ה
שם פקודה עם '!' יגרום ל כניסה אוטומטית ערוך הגדרה של אפשרות למעבר
משך הפקודה הזו בלבד.

נוֹכְחִי קו: הגדר לשורת הקלט האחרונה; אם לא הוכנסו קווים, הגדר לקו הקודם
הכתובת הראשונה, או לשורה הראשונה של מאגר העריכה אם אין שורות קודמות
הכתובת הראשונה, או לאפס אם מאגר העריכה ריק.

נוֹכְחִי סקירה: מוגדר לא- .

שינוי מַדרִיך
תַקצִיר:
chd[ir][!][בספרייה]
cd[!][בספרייה]

שנה את ספריית העבודה הנוכחית ל בספרייה.

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

אם לא '!' מצורף לשם הפקודה, ומאגר העריכה השתנה מאז
הכתיבה המלאה האחרונה, ושם הנתיב הנוכחי אינו מתחיל בא '/', זה יהיה
שגיאה.

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

העתק
תַקצִיר:
[2addr] co[py] 1addr [דגלים]
[2addr] t 1addr [דגלים]

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

נוֹכְחִי קו: הגדר לשורה האחרונה שהועתקה.

נוֹכְחִי סקירה: מוגדר לא- .

מחק
תַקצִיר:
[2addr] d[בחר][חיץ][לספור][דגלים]

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

דגלים יכולים מיד לעקוב אחר שם הפקודה; לִרְאוֹת פיקוד קו ניתוח in ex.

נוֹכְחִי קו: הגדר לשורה העוקבת אחרי השורות שנמחקו, או לשורה האחרונה בעריכה
מאגר אם השורה הזו עברה את סוף מאגר העריכה, או לאפס אם מאגר העריכה נמצא
ריק.

נוֹכְחִי סקירה: מוגדר לא- .

ערוך
תַקצִיר:
e[דיט][!][+הפקודה][פילה]
ex[!][+הפקודה][פילה]

אם לא '!' מצורף לשם הפקודה, ומאגר העריכה השתנה מאז
הכתיבה המלאה האחרונה, זו תהיה שגיאה.

If פילה צוין, החלף את התוכן הנוכחי של מאגר העריכה בזרם
תכנים של פילה, והגדר את שם הנתיב הנוכחי ל פילה. אם פילה לא צוין, החלף
התוכן הנוכחי של מאגר העריכה עם התוכן הנוכחי של הקובץ בשם
שם הנתיב הנוכחי. אם מסיבה כלשהי לא ניתן לגשת לתוכן הנוכחי של הקובץ,
מאגר העריכה יהיה ריק.

אל האני +הפקודה אפשרות תהיה -מופרד; תווים בתוך +הפקודה יכול
להימלט על ידי הקדמתם עם א אופי. ה +הפקודה אמור להיות
מתפרש כ- an ex הפקודה מיד לאחר שהתוכן של מאגר העריכה היה
הוחלפו והשורה והעמודה הנוכחיים הוגדרו.

אם מאגר העריכה ריק:

נוֹכְחִי קו: הגדר ל-0.

נוֹכְחִי סקירה: הגדר ל-1.

אחרת, אם בוצע תוך כדי ex מצב פקודה או אם +הפקודה ארגומנט מצוין:

נוֹכְחִי קו: הגדר לשורה האחרונה של מאגר העריכה.

נוֹכְחִי סקירה: מוגדר לא- .

אחרת, אם פילה מושמט או מביא לשם הנתיב הנוכחי:

נוֹכְחִי קו: הגדר לשורה הראשונה של מאגר העריכה.

נוֹכְחִי סקירה: מוגדר לא- .

אחרת, אם פילה זהה לקובץ האחרון שנערך, השורה והעמודה יוגדרו
כדלהלן; אם הקובץ נערך בעבר, ניתן להגדיר את השורה והעמודה באופן הבא:

נוֹכְחִי קו: הגדר לערך האחרון שנערך כאשר הקובץ נערך לאחרונה. אם הערך הזה הוא
לא שורה חוקית במאגר העריכה החדש, מוגדר לשורה הראשונה של מאגר העריכה.

נוֹכְחִי סקירה: אם השורה הנוכחית הוגדרה לערך האחרון שהוחזק כשהקובץ היה האחרון
ערוך, מוגדר לערך האחרון שנערך כאשר הקובץ נערך לאחרונה. אחרת, או אם ה
הערך האחרון אינו עמודה חוקית במאגר העריכה החדש, מוגדר לא- .

אחרת:

נוֹכְחִי קו: הגדר לשורה הראשונה של מאגר העריכה.

נוֹכְחִי סקירה: מוגדר לא- .

שלח
תַקצִיר:
f[הים][פילה]

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

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

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

גלוֹבָּלִי
תַקצִיר:
[2addr] g[לובלי] /דפוס/ [פקודות]
[2addr] v /דפוס/ [פקודות]

האופציונלי '!' דמות אחרי ה גלוֹבָּלִי הפקודה תהיה זהה לביצוע ה v
פקודה.

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

אם לא צוינו שורות, השורות יעברו כברירת מחדל לקובץ כולו.

אל האני גלוֹבָּלִי ו v פקודות הן באופן הגיוני פעולות דו-מעבר. ראשית, סמן את הקווים בפנים
השורות שצוינו שעבורן הקו למעט הסיום התאמות
(גלוֹבָּלִי) או לא תואם (v or גלוֹבָּלִי!) התבנית שצוינה. שנית, בצע את ex
פקודות שניתנו על ידי פקודות, עם הקו הנוכחי ('.') מוגדר לכל קו מסומן. אם
שגיאה מתרחשת במהלך תהליך זה, או שהתוכן של מאגר העריכה מוחלף (עבור
לדוגמה, על ידי ה ex :לַעֲרוֹך פקודה) תיכתב הודעת שגיאה ולא עוד פקודות
כתוצאה מביצוע פקודה זו יעובדו.

מְרוּבֶּה ex ניתן לציין פקודות על ידי הזנת פקודות מרובות בשורה אחת באמצעות
א לתחום אותם, או אחד לכל שורה, על ידי בריחה מכל אחד עם
.

אם לא צוינו פקודות:

1. אם ב ex במצב פקודה, זה יהיה כאילו הדפסה צוינו פקודה.

2. אחרת, לא תבוצע פקודה.

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

אל האני גלוֹבָּלִי, v, ו לבטל לא ניתן להשתמש בפקודות ב פקודות. קווים מסומנים עשויים להימחק
על ידי פקודות המבוצעות עבור שורות המתרחשות מוקדם יותר בקובץ מאשר הקווים המסומנים. ב
במקרה זה, לא יבוצעו פקודות עבור השורות שנמחקו.

אם כיוון החיפוש הזכור לא מוגדר, ה- גלוֹבָּלִי ו v פקודות יקבעו אותו
קָדִימָה.

אל האני הדפסה אוטומטית ו כניסה אוטומטית אפשרויות העריכה יהיו מעוכבות למשך כל הזמן g or
v פקודה.

נוֹכְחִי קו: אם לא בוצעו פקודות, הגדר לשורה המסומנת האחרונה. אחרת, כמו
שצוין עבור המוצאים להורג ex פקודות.

נוֹכְחִי סקירה: אם לא מבוצעות פקודות, הגדר לא- ; אחרת, כמפורט
עבור הפרט ex פקודות.

הַבלָעָה
תַקצִיר:
[1addr] i[nsert][!]

זן ex מצב קלט טקסט; טקסט הקלט ימוקם לפני השורה שצוינה. אם ה
השורה היא אפס או 1, הטקסט ימוקם בתחילת מאגר העריכה.

פקודה זו תושפע מה- מספר ו כניסה אוטומטית אפשרויות עריכה; בעקבות ה
שם פקודה עם '!' יגרום ל כניסה אוטומטית ערוך הגדרה של אפשרות למעבר
משך הפקודה הזו בלבד.

נוֹכְחִי קו: הגדר לשורת הקלט האחרונה; אם לא הוכנסו קווים, הגדר לקו הקודם
השורה שצוינה, או לשורה הראשונה של מאגר העריכה אם אין שורות
לפני השורה שצוינה, או אפס אם מאגר העריכה ריק.

נוֹכְחִי סקירה: מוגדר לא- .

לְהִצְטַרֵף
תַקצִיר:
[2addr] j[אוי][!][לספור][דגלים]

If לספור מוגדר:

אם לא צוינה כתובת, ה להצטרף הפקודה תתנהג כאילו 2addr היו
הקו הנוכחי והקו הנוכחי פלוס לספור (.,. + לספור).

אם צוינה כתובת אחת, ה- להצטרף הפקודה תתנהג כאילו 2addr היו
כתובת שצוינה והכתובת שצוינה פלוס לספור (Addr,Addr + לספור).

אם צוינו שתי כתובות, ה להצטרף פקודה תתנהג כאילו תוספת
כתובת, שווה לכתובת האחרונה פלוס לספור −1 (adr1,adr2,adr2 + לספור −1),
צוין.

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

אם לא לספור מוגדר:

אם לא צוינה כתובת, ה להצטרף הפקודה תתנהג כאילו 2addr היו
השורה הנוכחית והשורה הבאה (.,. +1).

אם צוינה כתובת אחת, ה- להצטרף הפקודה תתנהג כאילו 2addr היו
כתובת שצוינה והשורה הבאה (Addr,Addr + 1).

חבר את הטקסט מהשורות שצוינו יחד לשורה אחת, שתחליף
הקווים שצוינו.

אם '!' תו מצורף לשם הפקודה, ה להצטרף יהיה בלי
שינוי של כל קו, ללא תלות במקום הנוכחי.

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

1. לזרוק מוביל תווים מהשורה להצטרפות.

2. אם השורה שיש להצטרף ריקה כעת, מחק אותה ודלג על שלבים 3 עד 5.

3. אם הקו הנוכחי מסתיים ב-a , או התו הראשון של השורה שיש להצטרף אליה
הוא ')' תו, הצטרף לשורות ללא שינוי נוסף.

4. אם התו האחרון של השורה הנוכחית הוא א '.', חבר את השורות עם שניים
דמויות ביניהם.

5. אחרת, חבר את השורות עם סינגל ביניהם.

נוֹכְחִי קו: הגדר לשורה הראשונה שצוינה.

נוֹכְחִי סקירה: מוגדר לא- .

רשימה
תַקצִיר:
[2addr] l[הוא][לספור][דגלים]

פקודה זו תהיה שווה ערך ל- ex פקודה:

[2addr] p[rint][לספור] l[דגלים]

לִרְאוֹת קופונים להדפסה.

מַפָּה
תַקצִיר:
מַפָּה[!][לה rhs]

If לה ו rhs לא מצוינים:

1. אם '!' צוין, כתוב את הרשימה הנוכחית של מפות מצב קלט טקסט.

2. אחרת, כתוב את הרשימה הנוכחית של מפות מצב פקודה.

3. אל תעשה יותר.

יישום עשוי להגביל את קבוצת התווים המתקבלת ב לה or rhsחוץ מזה
תווים להדפסה ו תווים לא יהיו מוגבלים. נוֹסָף
ההגבלות יוגדרו ביישום. בשניהם לה ו rhs, כל דמות יכולה להיות
נמלט עם א ‐V, במקרה זה התו לא ישמש לתיחום לה
החל מ- rhs, והבריחה -V יימחק.

אם הדמות '!' מצורף ל- מַפָּה שם הפקודה, המיפוי יהיה יעיל
במצב קלט טקסט פתוח או חזותי במקום לפתוח or חזותי מצב פקודה. זה מאפשר
לה שיהיו שניים שונים מַפָּה הגדרות בו זמנית: אחת למצב פקודה ואחת
עבור מצב קלט טקסט.

למיפוי מצבי פקודה:

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

אם תו כלשהו בפקודה, מלבד הראשון, נשלח באמצעות א
תו V, תו זה לא יהיה חלק מהתאמה ל-an לה.

לא מצוין אם יישומים יתמכו מַפָּה פקודות שבהן לה
הוא יותר מתו בודד באורך, כאשר התו הראשון של ה לה is
ניתן להדפסה.

If לה מכיל יותר מתו אחד והתו הראשונה היא '#', ואחריו
רצף של ספרות המקביל למקש פונקציה ממוספר, ואז כאשר זה
מקש הפונקציה מוקלד אליו ימופו rhs. תווים שאינם ספרות
הבא '#' התווים מייצגים גם את מקש הפונקציה שנקרא על ידי התווים
ב לה לאחר '#' וניתן למפות אליו rhs. לא ברור איך
למקשי הפונקציות יש שמות או אילו מקשי פונקציות נתמכים.

למיפוי מצבי קלט טקסט:

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

אם תו כלשהו בטקסט הקלט נשלח באמצעות א תו V, זה
תו לא יהיה חלק מהתאמה ל- לה.

לא מצוין אם ה לה טקסט הוזן עבור הבאות מַפָּה or בטל את המפה פקודות
מוחלף ב rhs טקסט למטרות תצוגת המסך; ללא קשר ל
אם התצוגה נראית כאילו התואמת או לא rhs הוזן טקסט,
השפעת הפקודה תהיה כאילו לה הוזן טקסט.

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

אל האני rhs התווים עצמם יהיו כפופים למיפוי מחדש, אלא אם צוין אחרת על ידי
מה היא למפות מחדש אפשרות עריכה, אלא שאם התווים ב לה מופיעים כתווי קידומת ב
rhs, תווים אלה לא יופנו מחדש.

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

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

סמן
תַקצִיר:
[1addr] ma[rk] אופי
[1addr] k אופי

יישומים יתמכו אופי ערכים של אות קטנה אחת של ה-POSIX
מיקום ותווי הציטוט האחורי והתווים של ציטוט בודד; תמיכה של דמויות אחרות היא
מוגדר יישום.

אם מבצעים את vi m הפקודה, הגדר את הסימן שצוין לשורה הנוכחית ומבוסס 1
תו ממוספר שהעמודה הנוכחית מתייחסת אליו, אם יש; אחרת, מיקום עמודה 1.

אחרת, הגדר את הסימן שצוין לקו שצוין וממוספר ראשון על בסיס 1
לֹא לֹא בתור, אם יש; אחרת, הלא האחרון בתוך ה
קו, אם יש; אחרת, מיקום עמודה 1.

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

הסימנים ` ו ' יוגדר כמתואר קודם לכן, מיד לפני הבאות
אירועים מתרחשים בעורך:

1. השימוש של '$' כמו ex כתובת

2. השימוש במספר עשרוני חיובי בתור an ex כתובת

3. השימוש בפקודת חיפוש בתור ex כתובת

4. השימוש בהפניה לסימן כאל ex כתובת

5. השימוש בפקודות המצב הפתוח והחזותי הבאות: -], %, (, ), [, ], {,
}

6. השימוש בפקודות הבאות במצב פתוח וחזותי: ', G, H, L, M, z אם
השורה הנוכחית תשתנה כתוצאה מהפקודה

7. השימוש בפקודות המצב הפתוח והחזותי: /, ?, N, `, n אם הקו הנוכחי או
העמודה תשתנה כתוצאה מהפקודה

8. השימוש ב- ex פקודות מצב: z, לבטל, גלוֹבָּלִי, v

לכללים 1., 2., 3. ו-4., ה ` ו ' לא ייקבעו סימנים אם ex פקודה היא
מנותח כמפורט בכלל 6.א. ב פיקוד קו ניתוח in ex.

לכללים 5., 6. ו-7., ה ` ו ' לא יוגדרו סימנים אם הפקודות משמשות כ
פקודות תנועה במצב פתוח וחזותי.

לכללים 1., 2., 3., 4., 5., 6., 7., ו-8., ` ו ' לא ייקבעו סימנים אם
הפקודה נכשלת.

אל האני ` ו ' סימנים יוגדרו כמתואר קודם לכן, בכל פעם את תוכן העריכה
מאגר מוחלפים (כולל עריכת המאגר הראשוני), אם הוא פתוח או ויזואלי
מצב, או אם נמצא ex מצב ומאגר העריכה אינו ריק, לפני פקודות או תנועות כלשהן
(כולל פקודות או תנועות שצוינו על ידי or −ת אפשרויות או את +הפקודה
ארגומנט) מופעלים במאגר העריכה. אם במצב פתוח או חזותי, הסימנים יהיו
מוגדר כאילו מבצע את vi m פקודה; אחרת, כאילו מבצעים את ex סימן פקודה.

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

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

להזיז
תַקצִיר:
[2addr] m[אובה] 1addr [דגלים]

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

נוֹכְחִי קו: הגדר לאחרון השורות שהוזזו.

נוֹכְחִי סקירה: מוגדר לא- .

הַבָּא
תַקצִיר:
n[שלוחה][!][+הפקודה][פילה ...]

אם לא '!' מצורף לשם הפקודה, ומאגר העריכה השתנה מאז
הכתיבה המלאה האחרונה, זו תהיה שגיאה, אלא אם הקובץ נכתב בהצלחה כ
שצוין על ידי כתיבה אוטומטית אוֹפְּצִיָה.

אם צוין קובץ אחד או יותר:

1. הגדר את רשימת הארגומנטים לשמות הקבצים שצוינו.

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

3. הגדר את שם הנתיב הנוכחי לשם הקובץ הראשון שצוין.

אחרת:

1. זו תהיה שגיאה אם ​​אין יותר שמות קבצים ברשימת הארגומנטים אחרי ה-
שם הקובץ שמוזכר כעת.

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

החלף את התוכן של מאגר העריכה בתוכן הקובץ שנקרא על ידי הנוכחי
שם נתיב. אם מסיבה כלשהי לא ניתן לגשת לתוכן הקובץ, מאגר העריכה
יהיה ריק.

פקודה זו תושפע מה- כתיבה אוטומטית ו לכתוב כל אפשרויות עריכה.

אל האני +הפקודה אפשרות תהיה -מופרד; ניתן לברוח מדמויות
לפניהם א אופי. ה +הפקודה יתפרש כ- an ex
הפקודה מיד לאחר החלפת תוכן מאגר העריכה וה-
הקו והעמודה הנוכחיים הוגדרו.

נוֹכְחִי קו: הגדר כמתואר עבור עריכה פקודה.

נוֹכְחִי סקירה: הגדר כמתואר עבור עריכה פקודה.

מספר
תַקצִיר:
[2addr] nu[mber][לספור][דגלים]
[2addr] #[לספור][דגלים]

פקודות אלו יהיו שוות ערך ל- ex פקודה:

[2addr] p[rint][לספור] #[דגלים]

לִרְאוֹת קופונים להדפסה.

להרחיב
תַקצִיר:
[1addr] o[עט] /דפוס/ [דגלים]

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

היכנס למצב פתוח.

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

נוֹכְחִי קו: הגדר לקו שצוין.

נוֹכְחִי סקירה: מוגדר לא- .

לשמור
תַקצִיר:
מִרֹאשׁ[לשרת]

שמור את מאגר העריכה בצורה שניתן לשחזר מאוחר יותר באמצעות ה- −ר אפשרות או לפי
באמצעות ex לשחזר פקודה. לאחר שמירת הקובץ, תישלח הודעת דואר
נשלח למשתמש. הודעה זו תהיה ניתנת לקריאה על ידי הפעלת ה דואר x תוֹעֶלֶת. ה
ההודעה תכיל את שם הקובץ, זמן השימור ו- ex הפקודה
שיכול לשמש לשחזור הקובץ. מידע נוסף עשוי להיכלל בדואר
הוֹדָעָה.

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

קופונים להדפסה
תַקצִיר:
[2addr] p[rint][לספור][דגלים]

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

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

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

"%6d ", <קו מספר>

אם l דגל מצוין או את רשימה אפשרות עריכה מוגדרת:

1. הדמויות המפורטות בכרך הגדרות הבסיס של POSIX.1-2008, טבלתי 5-1,
Escape רצפים ו משויך פעולות ייכתב כמילוט המתאים
סדר פעולות.

2. תווים שאינם ניתנים להדפסה שאינם בכרך הגדרות הבסיס של POSIX.1-2008, טבלתי
5-1, Escape רצפים ו משויך פעולות ייכתב כאוקטל אחד בן שלוש ספרות
מספר (עם קודמת ) עבור כל בייט בתו (המשמעותי ביותר
בייט ראשון).

3. סוף כל שורה יסומן בא '$', ומילולי '$' תווים בתוך
השורה תיכתב עם קודמתה .

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

אם קו מקופל, ואת l הדגל לא מצוין וה רשימה אפשרות העריכה לא מוגדרת,
לא מצוין אם תו רב עמודות במיקום הקיפול מופרד;
זה לא יושלך.

נוֹכְחִי קו: הגדר לשורה הכתובה האחרונה.

נוֹכְחִי סקירה: ללא שינוי אם הקו הנוכחי אינו משתנה; אחרת, הגדר לא- .

שים
תַקצִיר:
[1addr] pu[t][חיץ]

הוסף טקסט מהמאגר שצוין (כברירת מחדל, המאגר ללא שם) למאגר שצוין
קַו; שורה אפס מציינת שהטקסט ימוקם בתחילת העריכה
בַּלָם. כל חלק של שורה במאגר יהפוך לשורה חדשה במאגר העריכה,
ללא קשר למצב המאגר.

נוֹכְחִי קו: הגדר לשורה האחרונה שהוכנסה למאגר העריכה.

נוֹכְחִי סקירה: מוגדר לא- .

להפסיק
תַקצִיר:
q[uit][!]

אם לא '!' מצורף לשם הפקודה:

1. אם מאגר העריכה השתנה מאז הכתיבה המלאה האחרונה, הוא יהיה an
שגיאה.

2. אם יש שמות קבצים ברשימת הארגומנטים אחרי שם הקובץ שאליו מפנה כעת,
והפקודה האחרונה לא הייתה א להפסיק, wq, שיט, או ZZ (ראה יציאה) פקודה, זה יהיה an
שגיאה.

אחרת, סיים את סשן העריכה.

חומר עיוני
תַקצִיר:
[1addr] r[ead][!][פילה]

If '!' הוא לא הראשון הלא- כדי לעקוב אחר שם הפקודה, עותק של הפקודה שצוין
הקובץ יצורף למאגר העריכה לאחר השורה שצוינה; קו אפס מציין
שהעותק ימוקם בתחילת מאגר העריכה. מספר השורות ו
בייטים שנקראו ייכתבו. אם לא פילה נקרא בשם, שם הנתיב הנוכחי יהיה
בְּרִירַת מֶחדָל. אם אין שם נתיב נוכחי, אז פילה יהפוך לשם הנתיב הנוכחי. אם
אין שם נתיב נוכחי או פילה אופרנד, זו תהיה שגיאה. ציון א פילה זֶה
אינו מסוג רגיל יהיו תוצאות לא מוגדרות.

אחרת, אם פילה קדמה לו '!', שאר השורה אחרי ה '!' יהיה לי '%',
'#', ו '!' התווים מורחבים כמתואר ב פיקוד קו ניתוח in ex.

אל האני ex לאחר מכן, השירות יעביר שני ארגומנטים לתוכנית שנקראת על ידי עריכת המעטפת
אוֹפְּצִיָה; הראשון יהיה והשני יהיו הטיעונים המורחבים ל- לקרוא
הפקודה כארגומנט יחיד. הקלט הסטנדרטי של התוכנית יוגדר ל-
קלט סטנדרטי של ex התוכנית כאשר היא הופעלה. השגיאה הסטנדרטית והתקן
הפלט של התוכנית יצורף למאגר העריכה לאחר השורה שצוינה.

כל שורה בפלט הקובץ או התוכנית שהועתקו (כפי שתוחם על ידי תווים או
סוף הקובץ או הפלט אם לא מקדים אותו מיד ב-a ), אמור להיות
שורה נפרדת במאגר העריכה. כל התרחשויות של ו
זוגות בפלט יטופלו כיחידים דמויות.

המשמעות המיוחדת של ה '!' לאחר לקרוא ניתן לעקוף את הפקודה על ידי בריחה
זה עם א אופי.

נוֹכְחִי קו: אם לא יתווספו שורות למאגר העריכה, ללא שינוי. אחרת, אם פתוח
או מצב חזותי, מוגדר לשורה הראשונה שהוכנסה למאגר העריכה. אחרת, הגדר ל-
השורה האחרונה שהוכנסה למאגר העריכה.

נוֹכְחִי סקירה: מוגדר לא- .

להחלים
תַקצִיר:
rec[יותר][!] פילה

אם לא '!' מצורף לשם הפקודה, ומאגר העריכה השתנה מאז
הכתיבה המלאה האחרונה, זו תהיה שגיאה.

אם לא פילה אופרנד מצוין, אז ישמש שם הנתיב הנוכחי. אם אין
שם הנתיב הנוכחי או פילה אופרנד, זו תהיה שגיאה.

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

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

נוֹכְחִי פילה: הגדר כמתואר עבור עריכה פקודה.

נוֹכְחִי סקירה: הגדר כמתואר עבור עריכה פקודה.

Rewind
תַקצִיר:
מחדש[ind][!]

אם לא '!' מצורף לשם הפקודה, ומאגר העריכה השתנה מאז
הכתיבה המלאה האחרונה, זו תהיה שגיאה, אלא אם הקובץ נכתב בהצלחה כ
שצוין על ידי כתיבה אוטומטית אוֹפְּצִיָה.

אם רשימת הארגומנטים ריקה, זו תהיה שגיאה.

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

החלף את התוכן של מאגר העריכה בתוכן הקובץ שנקרא על ידי הנוכחי
שם נתיב. אם מסיבה כלשהי לא ניתן לגשת לתוכן הקובץ, מאגר העריכה
יהיה ריק.

פקודה זו תושפע מה- כתיבה אוטומטית ו לכתוב כל אפשרויות עריכה.

נוֹכְחִי קו: הגדר כמתואר עבור עריכה פקודה.

נוֹכְחִי סקירה: הגדר כמתואר עבור עריכה פקודה.

לקבוע
תַקצִיר:
se[t][אוֹפְּצִיָה[=[ערך]] ...][לאאוֹפְּצִיָה ...][אוֹפְּצִיָה? ...][את כל]

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

מתן שם לאופציה ואחריו הדמות '?' יגרום לערך הנוכחי של זה
אפשרות להיכתב. ה '?' ניתן להפריד משם האפשרות באפס או יותר
דמויות. ה '?' יהיה צורך רק עבור אופציות בעלות ערך בוליאני. בוליאנית
ניתן לתת ערכים לאפשרויות על ידי הטופס סט אוֹפְּצִיָה כדי להפעיל אותם או סט לאאוֹפְּצִיָה לפנות
אותם לבטל; ניתן להקצות מחרוזת ואפשרויות מספריות על ידי הטופס סט אוֹפְּצִיָה=ערך. כל
ניתן לכלול תווים במחרוזות כפי שהם על ידי הקדמת כל אחד עם
בריחה . ניתן להגדיר או לרשום יותר מאפשרות אחת על ידי פקודת קבוצה אחת
על ידי ציון ארגומנטים מרובים, כל אחד מהם מופרד מהבא באחד או יותר
תווים.

לִרְאוֹת ערוך אפשרויות in ex לפרטים על אפשרויות ספציפיות.

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

פָּגָז
תַקצִיר:
ש[אַמָה]

הפעל את התוכנית ששמה ב- פָּגָז אפשרות עריכה עם הארגומנט היחיד (אינטראקטיבי
מצב). העריכה תחודש עם יציאת התוכנית.

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

מָקוֹר
תַקצִיר:
לכן[urcan כדי] פילה

לקרוא ולבצע ex פקודות מאת פילה. שורות בקובץ שהן שורות ריקות יהיו
התעלם.

נוֹכְחִי קו: כפי שצוין עבור הפרט ex פקודות.

נוֹכְחִי סקירה: כפי שצוין עבור הפרט ex פקודות.

תחליף
תַקצִיר:
[2addr] s[מכל מקום][/דפוס/מחליף/[אפשרויות][לספור][דגלים]]
[2addr] &[אפשרויות][לספור][דגלים]]
[2addr] ~[אפשרויות][לספור][דגלים]]

החלף את המופע הראשון של התבנית דפוס לפי החוט מחליף על כל שצוין
קַו. (לִרְאוֹת רגיל ביטויים in ex ו תחליף מחרוזות in ex.) כל לא אלפביתי,
לֹא תוחם מלבד , '|', , או ניתן להשתמש במירכאות כפולות
במקום '/'. ניתן להשתמש בתווים כדי להיחלץ ממפרידים,
תווים, ותווים מיוחדים אחרים.

ניתן להשמיט את המפריד הנגרר דפוס או מ מחליף בסוף הפקודה
קַו. אם שניהם דפוס ו מחליף אינם מצוינים או ריקים (לדוגמה, "//",)
אחרון s הפקודה תחזור על עצמה. אם רק דפוס לא צוין או ריק, האחרון
הביטוי הרגולרי המשמש בעורך ישמש כתבנית. אם רק מחליף לא
שצוין או ריק, התבנית לא תוחלף בכלום. אם כולו
דפוס החלפה הוא '%', דפוס ההחלפה האחרון ל- an s יש להשתמש בפקודה.

נכנס א ב מחליף (מה שמצריך בריחה ב ex מצב
ובריחה -V בפתוח או vi מצב) יפצל את הקו באותה נקודה,
יצירת שורה חדשה במאגר העריכה. ה יימחק.

If אפשרויות כולל את המכתב 'ג' (גלוֹבָּלִי), כל המופעים שאינם חופפים של התבנית
בקו יוחלף.

If אפשרויות כולל את המכתב 'ג' (לְאַשֵׁר), אז לפני כל החלפה הקו יהיה
להיות כתוב; השורה הכתובה תשקף את כל ההחלפות הקודמות. על הדברים הבאים
קַו, תווים ייכתבו מתחת לתווים מהשורה שהם
לפני דפוס להחלפה, ו '^' תווים שנכתבו מתחת לדמויות
כלול ב דפוס להיות מוחלף. ה ex השירות ימתין לאחר מכן לתגובה מ
המשתמש. תשובה חיובית תגרום לביצוע ההחלפה, בעוד כל אחרת
קלט לא יבצע את ההחלפה. תשובה חיובית תהיה מורכבת משורה
עם התגובה החיובית (כפי שהוגדר על ידי המקום הנוכחי) בתחילת ה-
קַו. שורה זו תהיה כפופה לעריכה באותו אופן כמו ה ex שורת הפקודה.

אם יופרעו (ראה סעיף אירועים אסינכרוניים), כל השינויים שאושרו על ידי
המשתמש יישמר במאגר העריכה לאחר ההפרעה.

אם כיוון החיפוש הזכור לא מוגדר, ה- s הפקודה תגדיר אותו קדימה.

בתקציר השני, ה & הפקודה תחזור על ההחלפה הקודמת, כאילו &
הפקודה הוחלפה ב:

s/דפוס/מחליף/

איפה דפוס ו מחליף הם כמפורט בקודם s, &, או ~ פקודה.

בתקציר השלישי, ה ~ הפקודה תחזור על ההחלפה הקודמת, כאילו '~'
הוחלפו ב:

s/דפוס/מחליף/

איפה דפוס יהיה הביטוי הרגולרי האחרון שצוין לעורך, וכן מחליף יהיה
להיות מההחלפה הקודמת (כולל & ו ~) פקודה.

פקודות אלה יושפעו מה- LC_MESSAGES משתנה הסביבה.

נוֹכְחִי קו: הגדר לשורה האחרונה שבה התרחשה החלפה, או, ללא שינוי אם לא
חלה החלפה.

נוֹכְחִי סקירה: מוגדר לא- .

להשעות
תַקצִיר:
סו[לבלות][!]
st[op][!]

אפשר לבקר לחזור לתהליך הפנייה; ex ישלה את עצמו כאילו היה
קיבל את אות SIGTSTP. ההשעיה תתרחש רק אם בקרת עבודה מופעלת ב
המעטפת המעוררת (ראה את התיאור של סט −מ).

פקודות אלה יושפעו מה- כתיבה אוטומטית ו לכתוב כל אפשרויות עריכה.

הנוכחי תליוני דמות (ראה stty) יהיה שווה ערך ל- לְהַשְׁעוֹת פקודה.

תג
תַקצִיר:
טא[g][!] מחרוזת תיוג

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

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

אחרת, אם קובץ התגים הכיל דפוס, הדפוס יטופל כרגיל
ביטוי בשימוש בעורך; למשל, למטרות ה s פקודה.

אם מחרוזת תיוג נמצא בקובץ עם שם שונה משם הנתיב הנוכחי, הגדר את
שם הנתיב הנוכחי לשם של אותו קובץ, והחלף את התוכן של מאגר העריכה
עם התוכן של אותו קובץ. במקרה זה, אם לא '!' מצורף לשם הפקודה,
ומאגר העריכה השתנה מאז הכתיבה המלאה האחרונה, זו תהיה שגיאה,
אלא אם הקובץ נכתב בהצלחה כפי שצוין על ידי כתיבה אוטומטית אוֹפְּצִיָה.

פקודה זו תושפע מה- כתיבה אוטומטית, תג, אורך תג, ו לכתוב כל עריכה
אפשרויות.

נוֹכְחִי קו: אם קובץ התגים הכיל מספר שורה, הגדר למספר שורה זה. אם ה
מספר השורה גדול מהשורה האחרונה במאגר העריכה, הודעת שגיאה תהיה
כתוב והשורה הנוכחית תוגדר כמפורט עבור עריכה פקודה.

אם קובץ התגים הכיל תבנית, הגדר להופעה הראשונה של התבנית ב-
קוֹבֶץ. אם לא נמצא דפוס תואם, תיכתב הודעת שגיאה והנוכחי
הקו יוגדר כמפורט עבור עריכה פקודה.

נוֹכְחִי סקירה: אם קובץ התגים הכיל הפניה למספר שורה ומספר שורה זה
לא היה גדול מהשורה האחרונה במאגר העריכה, או אם קובץ התגים הכיל א
דפוס והדפוס הזה נמצא, מוגדר כבלתי- . אחרת, הגדר כפי שצוין עבור
מה היא עריכה פקודה.

לא מקוצר
תַקצִיר:
אחד[bbrev] לה

If לה אינו ערך ברשימת הקיצורים הנוכחית (ראה לְקַצֵר), זה יהיה
שגיאה. אחרת, מחק לה מרשימת הקיצורים.

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

בטל
תַקצִיר:
u[n האם]

הפוך את השינויים שנעשו על ידי הפקודה האחרונה ששינתה את תוכן העריכה
חיץ, כולל לבטל. לצורך זה, ה גלוֹבָּלִי, v, לפתוח, ו חזותי פקודות, ו
פקודות הנובעות מביצוע מאגר והרחבות תווים ממופה, נחשבות
פקודות בודדות.

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

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

נוֹכְחִי קו:

1. אם נוספו או השתנו שורות בקובץ, הגדר לשורה הראשונה שנוספה או השתנתה.

2. הגדר לשורה שלפני השורה הראשונה שנמחקה, אם היא קיימת.

3. הגדר ל-1 אם מאגר העריכה אינו ריק.

4. הגדר לאפס.

נוֹכְחִי סקירה: מוגדר לא- .

בטל את המפה
תַקצִיר:
unm[ap][!] לה

If '!' מצורף לשם הפקודה, ואם לה אינו ערך ברשימת הטקסט
הגדרות מפת מצב קלט, זו תהיה שגיאה. אחרת, מחק לה מרשימת
הגדרות מפה של מצב קלט טקסט.

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

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

גִרְסָה
תַקצִיר:
יש[rsion]

כתוב הודעה המכילה מידע על גרסה עבור העורך. הפורמט של ההודעה
אינו מפורט.

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

חזותי
תַקצִיר:
[1addr] vi[סואל][סוג][לספור][דגלים]

If ex נמצא כעת במצב פתוח או חזותי, התקציר וההתנהגות של הפקודה החזותית
יהיה זהה ל- עריכה פקודה, כמפורט על ידי ערוך.

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

If לספור מצוין, הערך של חלון אפשרות העריכה תוגדר ל לספור (כפי ש
מתואר ב חלון). אם ה '^' צוין גם תו הסוג, ה חלון עריכה
האפשרות תוגדר לפני השימוש על ידי תו הסוג.

היכנס למצב חזותי. אם סוג לא צוין, יהיה זה כאילו א סוג of '+' היה
נָקוּב. ה סוג יגרום להשפעות הבאות:

+ מקם את תחילת השורה שצוינה בראש התצוגה.

- מקם את קצה השורה שצוינה בתחתית התצוגה.

. מקם את תחילת השורה שצוינה באמצע התצוגה.

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

נוֹכְחִי קו: הגדר לקו שצוין.

נוֹכְחִי סקירה: מוגדר לא- .

לכתוב
תַקצִיר:
[2addr] w[טקס][!][>>][פילה]
[2addr] w[טקס][!][פילה]
[2addr] wq[!][>>][פילה]

אם לא צוינו שורות, השורות יעברו כברירת מחדל לקובץ כולו.

הפקודה wq יהיה שווה ערך לא לכתוב פקודה ואחריה א להפסיק פקודה; wq!
יהיה שווה ערך ל לכתוב! אחריו להפסיק. בשני המקרים, אם ה לכתוב הפקודה
נכשל, ה להפסיק לא ינוסו.

אם שם הפקודה אינו מלווה באחד או יותר תווים, או פילה לא
לפניו א '!' אופי, ה לכתוב יהיה לקובץ.

1. אם >> ארגומנט צוין, והקובץ כבר קיים, השורות יהיו
צורפה לקובץ במקום להחליף את תוכנו. אם ה >> הוויכוח הוא
שצוין, והקובץ לא קיים כבר, לא מצוין אם לכתוב
ימשיך כאילו ה >> הטיעון לא צוין או אם הכתיבה תיכשל.

2. אם באופן קריא אפשרות העריכה מוגדרת (ראה באופן קריא,) לכתוב ייכשל.

3. אם פילה מצוין, ואינו שם הנתיב הנוכחי, והקובץ קיים, ה- לכתוב
ייכשל.

4. אם פילה לא צוין, יש להשתמש בשם הנתיב הנוכחי. אם אין זרם
שם הנתיב, ה לכתוב הפקודה תיכשל.

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

6. אם כל מאגר העריכה אינו נכתב, והקובץ שייכתב קיים, ה-
לכתוב ייכשל.

לכללים 1., 2., 3. ו-5., ה לכתוב ניתן לכפות על ידי הוספת הדמות '!' ל
שם הפקודה.

לכללים 2., 3. ו-5., ה לכתוב ניתן לכפות על ידי הגדרת ה לכתוב כל אפשרות עריכה.

בדיקות נוספות המוגדרות ביישום עלולות לגרום ל לכתוב להיכשל.

אם מאגר העריכה ריק, ייכתב קובץ ללא כל תוכן.

הודעת מידע תיכתב תוך ציון מספר השורות והבתים שנכתבו.

אחרת, אם אחרי הפקודה אחת או יותר תווים, והקובץ הוא
קדמה '!', שאר השורה אחרי ה '!' יהיה לי '%', '#', ו '!'
התווים מורחבים כמתואר ב פיקוד קו ניתוח in ex.

אל האני ex לאחר מכן, השירות יעביר שני ארגומנטים לתוכנית ששמה פָּגָז עריכה
אוֹפְּצִיָה; הראשון יהיה והשני יהיו הטיעונים המורחבים ל- לכתוב
הפקודה כארגומנט יחיד. השורות שצוינו ייכתבו לקלט הסטנדרטי
של הפקודה. השגיאה הסטנדרטית והפלט הסטנדרטי של התוכנית, אם בכלל, יהיו
נכתב כמתואר עבור הדפסה פקודה. אם התו האחרון בפלט זה אינו א
, א ייכתב בסוף הפלט.

המשמעות המיוחדת של ה '!' לאחר לכתוב ניתן לעקוף את הפקודה על ידי בריחה
זה עם א אופי.

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

לכתוב ו יציאה
תַקצִיר:
[2addr] x[it][!][פילה]

אם מאגר העריכה לא השתנה מאז ההשלמה האחרונה לכתוב, שיט אמור להיות
שווה ערך ל להפסיק פקודה, או אם א '!' מצורף לשם הפקודה, to לְהַפְסִיק!.

אחרת, שיט יהיה שווה ערך ל wq פקודה, או אם א '!' מצורף ל-
שם פקודה, to wq!.

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

טִלטוּל
תַקצִיר:
[2addr] ya[nk][חיץ][לספור]

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

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

להתאים חלון
תַקצִיר:
[1addr] z[!][סוג ...][לספור][דגלים]

אם לא צוין קו, הקו הנוכחי יהיה ברירת המחדל; אם סוג מושמט כ
ובכן, ערך הקו הנוכחי יוגדל תחילה ב-1. אם מגדילים את הזרם
שורה תגרום לזה להיות גדול מהשורה האחרונה במאגר העריכה, זה יהיה an
שגיאה.

אם יש תווים בין ה סוג הטיעון והקודם z שם הפקודה
או אופציונלי '!' תו, זו תהיה שגיאה.

If לספור מצוין, הערך של חלון אפשרות העריכה תוגדר ל לספור (כפי ש
מתואר ב חלון). אם לספור מושמט, ברירת המחדל היא פי 2 מהערך של
לגלול אפשרות עריכה, או אם ! צוין, מספר השורות בתצוגה מינוס 1.

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

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

- הקו שצוין יופחת בערך הבא:

(((מספר of ``-'' דמויות) x לספור) -1)

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

+ השורה שצוינה תוגדל בערך הבא:

(((מספר of ``+'' דמויות) -1) x לספור) +1

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

=,. אם יותר מיחיד '.' or '=' צוין, זו תהיה שגיאה. הבאים
יינקטו צעדים:

1. אם לספור הוא אפס, שום דבר לא ייכתב.

2. כתוב כמה שיותר מה N שורות לפני השורה הנוכחית במאגר העריכה as
קיימים. אם לספור or '!' צוין, N אמור להיות:

(לספור −1) /2

אחרת, N אמור להיות:

(לספור -3) /2

If N הוא מספר קטן מ-3, לא ייכתבו שורות.

3. אם '=' צוין כתו הסוג, כתוב שורה המורכבת מה-
קטן יותר ממספר העמודות בתצוגה חלקי שניים, או 40 '-'
תווים.

4. כתוב את השורה הנוכחית.

5. חזור על שלב 3.

6. כתוב כמה שיותר מה N שורות אחרי השורה הנוכחית במאגר העריכה כפי שקיים.
N יוגדר כמו בשלב 2. אם N הוא מספר קטן מ-3, לא יהיו קווים
כתוב. אם לספור הוא פחות מ-3, לא ייכתבו שורות.

^ הקו שצוין יופחת בערך הבא:

(((מספר of ``^'' דמויות) + 1) x לספור) -1

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

נוֹכְחִי קו: הגדר לשורה האחרונה שנכתבה, אלא אם כן הסוג הוא =, במקרה זה, הגדר ל
השורה שצוינה.

נוֹכְחִי סקירה: מוגדר לא- .

Escape
תַקצִיר:
! הפקודה
[Addr]! הפקודה

תוכן השורה לאחר ה '!' יהיה לי '%', '#', ו '!' התווים מורחבים
כמתואר ב פיקוד קו ניתוח in ex. אם ההרחבה גורמת לטקסט של השורה
כדי לשנות, הוא יוצג מחדש, לפניו יחיד '!' אופי.

אל האני ex השירות יבצע את התוכנית ששמה פָּגָז אפשרות עריכה. זה יעבור שניים
טיעונים לתוכנית; הראשון יהיה , והשני יהיה המורחב
טיעונים ל ! הפקודה כארגומנט יחיד.

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

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

אני סנפיר ex מצב, יחיד '!' תו ייכתב עם סיום התוכנית.

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

נוֹכְחִי קו:

1. אם לא צוינו קווים, ללא שינוי.

2. אחרת, הגדר לשורה האחרונה שנקראה, אם ישנן שורות שנקראו.

3. אחרת, הגדר את השורה לפני השורה הראשונה של השורות שצוינו, אם זה קו
קיים.

4. אחרת, הגדר לשורה הראשונה של מאגר העריכה אם מאגר העריכה אינו ריק.

5. אחרת, הגדר לאפס.

נוֹכְחִי סקירה: אם לא צוינו קווים, ללא שינוי. אחרת, הגדר לא- .

משמרת שמאל
תַקצִיר:
[2addr] <[<...][לספור][דגלים]

העבר את השורות שצוינו לתחילת השורה; מספר מיקומי העמודות שיש
shifted יהיה מספר תווי הפקודה כפול הערך של רוחב משמרת עריכה
אוֹפְּצִיָה. רק מוביל תווים יימחקו או ישנו לשאר
תווים בהסטה; תווים אחרים לא יושפעו.

שורות שיש להזיז יועתקו למאגר ללא שם, שיהפוך לקו-
מאגר מצב.

פקודה זו תושפע מה- הדפסה אוטומטית אפשרות עריכה.

נוֹכְחִי קו: הגדר לשורה האחרונה בשורות שצוינו.

נוֹכְחִי סקירה: מוגדר לא- .

משמרת ימין
תַקצִיר:
[2addr] >[> ...][לספור][דגלים]

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

שורות שיש להזיז יועתקו למאגר ללא שם, שיהפוך לקו-
מאגר מצב.

פקודה זו תושפע מה- הדפסה אוטומטית אפשרות עריכה.

נוֹכְחִי קו: הגדר לשורה האחרונה בשורות שצוינו.

נוֹכְחִי סקירה: מוגדר לא- .


תַקצִיר:


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

נוֹכְחִי קו: הגדר לשורה האחרונה שנכתבה.

נוֹכְחִי סקירה: מוגדר לא- .

לכתוב קו מספר
תַקצִיר:
[1addr] = [דגלים]

If קו לא צוין, ברירת המחדל היא לשורה האחרונה במאגר העריכה. כתוב את ה
מספר השורה של הקו שצוין.

נוֹכְחִי קו: ללא שינוי.

נוֹכְחִי סקירה: ללא שינוי.

לבצע
תַקצִיר:
[2addr] @ חיץ
[2addr] * חיץ

אם לא צוין מאגר או מצוין כ '@' or '*', המאגר האחרון שיבוצע יהיה
בשימוש. אם לא הופעל מאגר קודם, זו תהיה שגיאה.

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

אם מתרחשת שגיאה במהלך תהליך זה, או שורה שצוינה על ידי הכתובות לא
קיים כאשר הקו הנוכחי יוגדר אליו, או שצוין יותר משורה בודדת
בכתובות, והתוכן של מאגר העריכה מוחלף (לדוגמה, ב- ex
:לַעֲרוֹך פקודה) תיכתב הודעת שגיאה, ולא עוד פקודות הנובעות מה-
ביצוע פקודה זו יעובד.

נוֹכְחִי קו: כפי שצוין עבור הפרט ex פקודות.

נוֹכְחִי סקירה: כפי שצוין עבור הפרט ex פקודות.

רגיל ביטויים in ex
אל האני ex השירות יתמוך בביטויים רגולריים שהם קבוצת-על של הרגיל הבסיסי
ביטויים המתוארים בכרך Base Definitions של POSIX.1-2008, סעיף 9.3, בסיסי
רגיל ביטויים. ביטוי רגולרי אפס ("//") יהיה שווה ערך לאחרון
נתקל בביטוי רגולרי.

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

ניתן להשתמש במבנים הבאים כדי לשפר את הביטויים הרגולריים הבסיסיים:

\< התאם את ההתחלה של a מילה. (ראה את ההגדרה של מילה בתחילת
פיקוד תיאורים in ex.)

\> התאם את סוף א מילה.

~ התאם את החלק החלופי של האחרון תחליף פקודה. ה ('~')
ניתן לחמוק מהתו בביטוי רגולרי כדי להפוך איתו לדמות רגילה
אין משמעות מיוחדת. ה יימחק.

כאשר אפשרות העורך קסם לא מוגדר, התווים היחידים עם משמעויות מיוחדות יהיו
be '^' בתחילת דפוס, '$' בסוף תבנית, ו . ה
תווים '.', '*', '[', ו '~' יטופלו כאל תווים רגילים אלא אם כן קודמים
על ידי א ; כאשר לפניו א הם ישובו למשמעותם המיוחדת,
או במקרה של , יטופל כיחיד . דמויות
המשמשים ליציאה מדמויות אחרות יימחקו.

תחליף מחרוזות in ex
הדמות '&' ('\&' אם אפשרות העורך קסם לא מוגדר) במחרוזת ההחלפה
יעמוד על הטקסט המותאם לתבנית שיוחלף. הדמות '~' ('\~' if
קסם לא נקבע) יוחלף בחלק החלופי של הקודם תחליף
פקודה. הרצף '\ n', שם n הוא מספר שלם, יוחלף בטקסט המותאם
על ידי ביטוי ההפניה האחורית המקביל. אם ההפניה האחורית המתאימה
הביטוי אינו תואם, אז התווים '\ n' יוחלף במחרוזת הריקה.

המיתרים '\l', '\u', '\L', ו '\U' ניתן להשתמש כדי לשנות את המקרה של אלמנטים ב-
מחרוזת החלפה (באמצעות '\&' or "\"ספרה) סימון. המיתר '\l' ('\u') יהיה
לגרום לדמות שאחריה להמיר לאותיות קטנות (אותיות גדולות). המיתר '\L'
('\U') יגרום להמרה של כל התווים שלאחריו לאותיות קטנות
(אותיות גדולות) כפי שהם מוכנסים על ידי ההחלפה עד המחרוזת '\ה' or '\E', או
קצה מחרוזת ההחלפה, נתקל.

אחרת, כל תו הבא אחרי א יטופל כאל מילולי
אופי, והבריחה יימחק.

דוגמה להמרת מקרה עם ה s הפקודה היא כדלקמן:

:p
אל האני חתול יום שבת on מה היא מַחצֶלֶת.
:s/\<.at\>/\u&/gp
אל האני חתול שבת on מה היא מַחצֶלֶת.
:s/S\(.*\)M/S\U\1\eM/p
אל האני חתול SAT ON LA מַחצֶלֶת.

ערוך אפשרויות in ex
אל האני ex לשירות יש מספר אפשרויות שמשנות את ההתנהגות שלו. לאפשרויות אלו יש
הגדרות ברירת המחדל, אותן ניתן לשנות באמצעות סט פקודה.

האפשרויות הן בוליאניות אלא אם צוין אחרת.

כניסה אוטומטית, ai
[בְּרִירַת מֶחדָל ביטול ההגדרה]

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

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

2. אחרת, אם במצב פתוח או חזותי, הזחה עבור כל שורה תוגדר כ
התעופה

א. אם שורה הוכנסה בעבר כחלק מפקודה זו, היא תוגדר ל-
הזחה של השורה האחרונה שהוכנסה כברירת מחדל, או כפי שצוין אחרת עבור
ה תו ‐D ב קֶלֶט מצב פקודות in vi.

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

3. בשביל ה ex a, i, ו c פקודות, הזחה עבור כל שורה תוגדר באופן הבא:

א. אם שורה הוכנסה בעבר כחלק מפקודה זו, היא תוגדר ל-
הזחה של השורה האחרונה שהוכנסה כברירת מחדל, או כפי שצוין אחרת עבור
מה היא eof אופי ב גְלִילָה.

ב. אחרת, אם הפקודה היא ex a הפקודה, היא תוגדר לקו
מצורף אחרי, אם יש; אחרת לעמודה הראשונה.

ג. אחרת, אם הפקודה היא ex i הפקודה, היא תוגדר לקו
מוכנס לפני, אם יש; אחרת לעמודה הראשונה.

ד. אחרת, אם הפקודה היא ex c הפקודה, היא תוגדר לכניסה
של הקו הוחלף.

הדפסה אוטומטית, ap
[בְּרִירַת מֶחדָל סט]

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

1. הפקודה בוצעה במצב פתוח או חזותי.

2. הפקודה בוצעה במסגרת א גלוֹבָּלִי or v פקודה או @ ביצוע מאגר.

3. הפקודה הייתה צורת ה לקרוא פקודה שקוראת קובץ לתוך מאגר העריכה.

4. הפקודה הייתה ה לצרף, שינוי, או להכניס פקודה.

5. הפקודה לא הופסקה על ידי א .

6. השורה הנוכחית תיכתב בדגל שצוין לפקודה; לדוגמה,
להסיר # יכתוב את השורה הנוכחית כפי שצוין עבור משנה הדגל ל- להסיר
פקודה, ולא כפי שצוין על ידי הדפסה אוטומטית אפשרות עריכה.

כתיבה אוטומטית, aw
[בְּרִירַת מֶחדָל ביטול ההגדרה]

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

לְפַאֵר, bf
[בְּרִירַת מֶחדָל ביטול ההגדרה]

If לְפַאֵר מוגדר, כל התווים שאינם ניתנים להדפסה, מלבד , , ו
feed> תווים, יימחקו מטקסט שנקרא מקבצים.

מַדרִיך, dir
[בְּרִירַת מֶחדָל מוגדר יישום]

הערך של אפשרות זו מציין את הספרייה שבה אמור להיות מאגר העורך
מוּצָב. אם ספרייה זו אינה ניתנת לכתיבה על ידי המשתמש, העורך יסגור.

edcompatible, ed
[בְּרִירַת מֶחדָל ביטול ההגדרה]

גורם לנוכחות של g ו c סיומות על פקודות חלופיות לזכור, ו
התחלף על ידי חזרה על הסיומות.

פעמוני שגיאה, eb
[בְּרִירַת מֶחדָל ביטול ההגדרה]

אם העורך נמצא ex מצב, והמסוף אינו תומך במצב בולט (כגון
וידאו הפוך), ו פעמוני שגיאה מוגדר, קודמת להודעות השגיאה התראה על
מָסוֹף.

exrc
[בְּרִירַת מֶחדָל ביטול ההגדרה]

If exrc מוגדר, ex ייגש לכל .exrc קובץ בספרייה הנוכחית, כמתואר ב
אתחול in ex ו vi. אם exrc אינו מוגדר, ex יתעלם מכל .exrc הקובץ
הספרייה הנוכחית במהלך האתחול, אלא אם הספרייה הנוכחית היא זו ששמה
עמוד הבית משתנה הסביבה.

להתעלם מהמקרה, ic
[בְּרִירַת מֶחדָל ביטול ההגדרה]

If התעלם מהמקרה מוגדר, תווים שיש להם ייצוגים באותיות רישיות וקטנות
ייצוגים אלה נחשבים כשווים למטרות ביטוי רגיל
השוואה.

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

רשימה
[בְּרִירַת מֶחדָל ביטול ההגדרה]

If רשימה מוגדר, ערוך שורות חיץ שנכתבו תוך כדי ex מצב פקודה ייכתב כ
שצוין עבור הדפסה פקודה עם l דגל שצוין. במצב פתוח או חזותי, כל אחד
שורת חיץ עריכה תוצג כפי שצוין עבור ex הדפסה פקודה עם l דגל
נָקוּב. במצב קלט טקסט פתוח או חזותי, כאשר הסמן אינו נשען על אף אחד
תו בשורה, הוא ינוח על '$' מסמן את סוף השורה.

קסם
[בְּרִירַת מֶחדָל סט]

If קסם מוגדר, לשנות את הפרשנות של תווים בביטויים רגולריים ו
מחרוזות החלפה (ראה רגיל ביטויים in ex ו תחליף מחרוזות in
ex).

הודעה
[בְּרִירַת מֶחדָל סט]

If הודעה מוגדר, ההרשאה לאחרים להשתמש ב- לכתוב or לדבר פקודות לכתוב אליהן
המסוף יופעל במצב פתוח או חזותי. הפקודה ברמת המעטפת הודעה
n יקבל עדיפות על פני כל הגדרה של ex הודעה אוֹפְּצִיָה; כלומר, אם הודעה y היה
שהונפקו לפני שהעורך התחיל (או בבריחה של מעטפת), כגון:

:!mesg y

מה היא הודעה אפשרות ב ex ידכא הודעות נכנסות, אבל הודעה אפשרות לא
אפשר הודעות נכנסות אם הודעה n הונפק.

מספר, nu
[בְּרִירַת מֶחדָל ביטול ההגדרה]

If מספר מוגדר, ערוך שורות חיץ שנכתבו תוך כדי ex מצב פקודה ייכתב עם
מספרי שורה, בפורמט שצוין על ידי הדפסה פקודה עם # דגל שצוין. ב
ex במצב קלט טקסט, לפני כל שורה מספר השורה שיהיה לה ב-
קובץ.

במצב פתוח או חזותי, כל שורת חיץ עריכה תוצג עם שורה קודמת
מספר, בפורמט שצוין על ידי ex הדפסה פקודה עם # דגל שצוין. זֶה
מספר קו לא ייחשב כחלק מהשורה למטרות הערכת
עמודה נוכחית; כלומר, מיקום עמודה 1 יהיה מיקום העמודה הראשונה אחרי ה
פורמט שצוין על ידי הדפסה פקודה.

פסקאות, סעיף
[ברירת מחדל באזור POSIX IPLPPPQPP LIpplpipbp]

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

הפקודה
[בְּרִירַת מֶחדָל סט]

If הפקודה מוגדר, ex תתבקש לקלט מצב פקודה באמצעות a (':'); מתי
לא מוגדר, לא תיכתב הנחיה.

באופן קריא
[בְּרִירַת מֶחדָל לִרְאוֹת טֶקסט]

אם באופן קריא אפשרות העריכה מוגדרת, מצב קריאה בלבד יופעל (ראה לכתוב).
באופן קריא אפשרות העריכה תהיה אתחול כדי להגדיר אם אחד מהתנאים הבאים
אספקה ​​you

* צוינה אפשרות שורת הפקודה −R.

* ביצוע פעולות שוות ל- גישה() הפונקציה נקראת עם הדברים הבאים
ארגומנטים מציינים שלקובץ אין הרשאת כתיבה:

1. שם הנתיב הנוכחי משמש בתור נתיב ויכוח.

2. הקבוע W_OK משמש כ לשגע ויכוח.

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

לצייר מחדש
[בְּרִירַת מֶחדָל ביטול ההגדרה]

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

למפות מחדש
[בְּרִירַת מֶחדָל סט]

If למפות מחדש נקבע, תרגום מפה יאפשר מפות המוגדרות במונחים של מפות אחרות;
התרגום יימשך עד לקבלת מוצר סופי. אם לא מוגדר, רק שלב אחד
יתבצע תרגום.

לדווח
[ברירת מחדל 5]

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

* א ex or vi פקודת עורך, מלבד לפתוח, לבטל, או חזותי, זה משנה לפחות
הערך של לדווח ערוך אפשרות מספר שורות, ואשר אינו חלק מ- ex
גלוֹבָּלִי or v פקודה, או ex or vi ביצוע חיץ, יגרום למידע
הודעה שתיכתב.

* א ex יאנק or vi y or Y פקודה, שמעתיקה לפחות את הערך של ה- לדווח עריכה
אפשרות בתוספת 1 של שורות, ושאינה חלק מ- ex גלוֹבָּלִי or v פקודה, או
ex or vi ביצוע מאגר, יגרום לכתיבת הודעת מידע.

* א ex גלוֹבָּלִי, v, לפתוח, לבטל, או חזותי פקודה או ex or vi ביצוע חיץ, זה מוסיף
או מוחק סך של לפחות הערך של לדווח ערוך אפשרות מספר שורות,
ואשר אינו חלק מ- ex גלוֹבָּלִי or v פקודה, או ex or vi ביצוע חוצץ,
יגרום לכתיבת הודעת מידע. (לדוגמה, אם היו 3 שורות
נוספו ו-8 שורות נמחקו במהלך an ex חזותי פקודה, 5 יהיה המספר בהשוואה
נגד לדווח אפשרות עריכה לאחר השלמת הפקודה.)

גְלִילָה, scr
[ברירת מחדל (מספר השורות בתצוגה -1)/2]

הערך של לגלול אפשרות העריכה תקבע את מספר השורות שיגללו על ידי ה- ex
-D ו z פקודות. בשביל ה vi -D ו פקודות U, זה יהיה
המספר הראשוני של שורות לגלילה כאשר אין קודם -D או פקודת -U
הוצא להורג.

סעיפים
[ברירת מחדל במקום POSIX NHSHH HUnhsh]

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

צדף, sh
[ברירת מחדל ממשתנה הסביבה SHELL]

הערך של אפשרות זו יהיה מחרוזת. ברירת המחדל תילקח מה- SHELL
משתנה הסביבה. אם ה SHELL משתנה הסביבה הוא ריק או ריק, ה- sh (ראה sh)
השירות יהיה ברירת המחדל.

רוחב משמרת, sw
[ברירת מחדל 8]

הערך של אפשרות זו ייתן את הרוחב בעמודות של רמת הזחה בשימוש
במהלך הזחה אוטומטית ולפי פקודות ה-shift (< ו >).

showmatch, sm
[בְּרִירַת מֶחדָל ביטול ההגדרה]

הפונקציונליות המתוארת עבור משחק מופע אין צורך לתמוך באפשרות עריכה ב-block-
מסופי מצב או מסופים עם יכולות לא מספיקות.

If משחק מופע מוגדר, במצב פתוח או חזותי, כאשר א ')' or '}' מוקלדת, אם ההתאמה
'(' or '{' נראה כעת בתצוגה, ההתאמה '(' or '{' יסומן
הזזת הסמן למיקומו למשך זמן לא מוגדר.

מצב תצוגה
[בְּרִירַת מֶחדָל ביטול ההגדרה]

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

פתיחה איטית
[בְּרִירַת מֶחדָל ביטול ההגדרה]

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

Tabstop, ts
[ברירת מחדל 8]

הערך של אפשרות עריכה זו יציין את גבול העמודה המשמש את a בתוך ה
תצוגה (ראה הדפסה אוטומטית, ap ו קֶלֶט מצב פקודות in vi).

אורך תג, tl
[ברירת מחדל אפס]

הערך של אפשרות עריכה זו יציין את המספר המרבי של תווים שהם
נחשב למשמעותי בשם התג שצוין על ידי המשתמש ובשם התג מהתגים
קוֹבֶץ. אם הערך הוא אפס, כל התווים בשני שמות התגים יהיו משמעותיים.

תיוגים
[בְּרִירַת מֶחדָל לִרְאוֹת טֶקסט]

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

טווח
[ברירת מחדל ממשתנה הסביבה מונח]

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

התוצאות אינן מצוינות אם המשתמש משנה את הערך של אפשרות עריכת המונח לאחר מכן
אתחול העורך.

תַמצִיתִי
[בְּרִירַת מֶחדָל ביטול ההגדרה]

If תַמצִיתִי מוגדר, ייתכן שהודעות השגיאה יהיו פחות מילוליות. עם זאת, למעט אזהרה זו,
הודעות השגיאה אינן מצויינות. יתר על כן, לא כל הודעות השגיאה צריכות לשנות עבור
הגדרות שונות של אפשרות זו.

להזהיר
[בְּרִירַת מֶחדָל סט]

If להזהיר מוגדר, והתוכן של מאגר העריכה השתנה מאז שהיו
לאחר שנכתב במלואו, העורך יכתוב הודעת אזהרה לפני בטוח !
פקודות (ראה Escape).

חלון
[בְּרִירַת מֶחדָל לִרְאוֹת טֶקסט]

ערך בשימוש במצב פתוח וחזותי, על ידי ה -B ו פקודות ‐F, וכן, ב
מצב חזותי, כדי לציין את מספר השורות המוצגות כאשר המסך נצבע מחדש.

אם −w אפשרות שורת הפקודה לא צוינה, ערך ברירת המחדל יוגדר ל-
ערך ה- קווים משתנה הסביבה. אם ה קווים משתנה הסביבה ריק או
null, ברירת המחדל תהיה מספר השורות בתצוגה מינוס 1.

הגדרת חלון אפשרות עריכה לאפס או לערך גדול ממספר השורות ב
התצוגה מינוס 1 (באופן מפורש או מבוסס על −w אופציה או קווים סביבה
משתנה) יגרום ל- חלון אפשרות עריכה שתקבע למספר השורות ב-
תצוגה מינוס 1.

קצב ההחזרה של קו הטרמינל עשוי לשנות את ברירת המחדל במימוש מוגדר
דֶרֶך.

שולי גלישה, wm
[ברירת מחדל 0]

אם הערך של אפשרות עריכה זו הוא אפס, לא תהיה לה השפעה.

אם לא במקום POSIX, ההשפעה של אפשרות עריכה זו מוגדרת ביישום.

אחרת, הוא יציין מספר עמודות משולי הסיום של הטרמינל.

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

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

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

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

מרווח הסיום ייקבע על ידי המערכת או יעקוף על ידי המשתמש, כמו
מתואר עבור עמודים בסעיף משתני סביבה ובכרך הגדרות הבסיס
של POSIX.1-2008, הפרק 8, סביבה משתנים.

סריקת עטיפה, ws
[בְּרִירַת מֶחדָל סט]

If לעטוף מוגדר, מחפש (את ex / or ? כתובות, או מצב פתוח וחזותי /, ?, N,
ו n פקודות) יעטפו את ההתחלה או הסוף של מאגר העריכה; כאשר אינו מוגדר,
החיפושים ייפסקו בתחילת או בסוף מאגר העריכה.

לכתוב כל, wa
[בְּרִירַת מֶחדָל ביטול ההגדרה]

If לכתוב כל מוגדר, חלק מהבדיקות שבוצעו בעת ביצוע ה ex לכתוב פקודות
יהיה מעוכב, כמתואר באפשרות עורך כתיבה אוטומטית.

יְצִיאָה סטָטוּס


יוחזרו ערכי היציאה הבאים:

0 השלמה מוצלחת.

>0 אירעה שגיאה.

השלכות OF שגיאות


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

אחרת, כאשר נתקלת בשגיאה בלתי ניתנת לשחזור, היא תהיה שווה ערך ל-SIGHUP
אירוע אסינכרוני.

אחרת, כאשר נתקלת בשגיאה, העורך יתנהג כמפורט ב פיקוד
קו ניתוח in ex.

אל האני הבא סעיפים יש לו אִינפוֹרמָטִיבִי.

בקשה נוהג


אם אות SIGSEGV מתקבל בזמן ex שומר קובץ, ייתכן שהקובץ לא
נשמר בהצלחה.

אל האני הבא הפקודה יכולה לקבל יותר מקובץ אחד, לכן שימוש כגון:

הבא `ls [abc]*`

תקף; זה לא יהיה תקף עבור עריכה or לקרוא פקודות, למשל, בגלל שהם
מצפה לקובץ אחד בלבד ומתרחשות תוצאות לא מוגדרות.

דוגמאות


אין.

Rationalale


אל האני ex/vi המפרט מבוסס על הפרקטיקה ההיסטורית שנמצאת ב-4 BSD ו-System
V יישומים של ex ו vi.

A מוגבל עורך (גם ההיסטוריים אָדוֹם שירות ושינויים ב ex) היו
נחשב ונדחה להכללה. אף אחת מהאפשרויות לא סיפקה את רמת האבטחה הזו
המשתמשים עשויים לצפות.

זה מוכר ש ex מצב חזותי ותכונות קשורות יהיו קשים, אם לא
בלתי אפשרי, ליישם בצורה משביעת רצון על מסוף במצב בלוק, או על מסוף בלעדיו
כל צורה של כתובת סמן; לפיכך, אין זו דרישה חובה לתכונות כאלה
אמור לעבוד על כל המסופים. אולם הכוונה היא שא ex הפעלה
צריך לספק את מערך היכולות המלא בכל המסופים המסוגלים לתמוך בהם.

אפשרויות
אל האני מחליף ל +הפקודה היה בהשראת אופציה של צמא. היסטורית, הכל
פקודות כאלה (ראה עריכה ו הבא כמו כן) בוצעו מהשורה האחרונה של העריכה
בַּלָם. זה אומר, למשל, את זה "+/דפוס" ייכשל אלא אם כן לעטוף אוֹפְּצִיָה
נקבע. POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית. ה +הפקודה האפשרות היא
כבר לא צוין על ידי POSIX.1-2008 אך עשוי להיות קיים בכמה יישומים.
מבחינה היסטורית, כמה יישומים הגבילו את ex פקודות שניתן לרשום כחלק
של הארגומנטים של שורת הפקודה. למען עקביות, POSIX.1-2008 אינו מתיר זאת
הגבלות.

ביישומים היסטוריים של העורך, ה אפשרות (ואת באופן קריא אפשרות עריכה)
מנע רק החלפת קבצים; הוספה לקבצים עדיין הייתה מותרת, מיפוי
באופן רופף לתוך CSH נוקלובר מִשְׁתַנֶה. עם זאת, כמה יישומים לא באו בעקבותיהם
הסמנטיקה הזו, ו באופן קריא אינו מתיר גם הוספה. POSIX.1-2008 עוקב אחר
תרגול אחרון, מתוך אמונה שזו משמעות ברורה ואינטואיטיבית יותר של באופן קריא.

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

אל האני −ת נדרשה האפשרות כי ctags כלי השירות מופיע ב-POSIX.1-2008 וב-
אפשרות זמינה בכל המימושים ההיסטוריים של ex.

מבחינה היסטורית, ex ו vi שירותים מקובלים א −x אפשרות, שעשתה הצפנה על בסיס
האלגוריתם שנמצא בהיסטורי כוך תוֹעֶלֶת. ה −x אפשרות להצפנה, וה
המשויך כוך כלי השירות, הושמטו מכיוון שהאלגוריתם בשימוש לא ניתן לפרט ו
חוקי בקרת היצוא של מדינות מסוימות מקשים על ייצוא קריפטוגרפי
טֶכנוֹלוֹגִיָה. בנוסף, הוא לא סיפק היסטורית את רמת האבטחה שהמשתמשים
אולי יצפה.

תֶקֶן קֶלֶט
תנאי סוף קובץ אינו שווה ערך לתו של סוף קובץ. סוף נפוץ של-
תו קובץ, ‐D, הוא מבחינה היסטורית ex פקודה.

לא היה אורך קו מרבי ביישומים היסטוריים של ex. ספציפית, כפי שהיא
נותח בחתיכות, הכתובות היו באורך מקסימלי שונה מזה של שמות הקבצים.
יתר על כן, גודל מאגר הקו המרבי הוכרז כ-BUFSIZ, שהיה באורכים שונים
על מערכות שונות. גרסה זו בחרה את הערך של {LINE_MAX} כדי להטיל סביר
הגבלה על שימוש נייד ב ex וכדי לסייע לכותבי חבילות מבחן בפיתוחם של
מבחנים מציאותיים המממשים את הגבול הזה.

קֶלֶט קבצים
זו הייתה החלטה מפורשת של המפתחים הסטנדרטיים כי א להתווסף לכל
קובץ חסר אחד. הוא האמין כי תכונה זו של ex ו vi הסתמכו על המשתמשים ב
כדי להפוך קבצי טקסט חסרי נגרר נייד יותר. זה מוכר ש
זה ידרוש אפשרות או הרחבה שצוינו על ידי המשתמש עבור יישומים שמתירים זאת ex
ו vi לערוך קבצים מסוג אחר מלבד טקסט אם קבצים כאלה אינם מזוהים אחרת על ידי
המערכת. הוסכם שהיכולת לערוך קבצים מסוג שרירותי יכולה להיות שימושית,
אך לא נחשב הכרחי להורות כי א ex or vi יידרש יישום
לטפל בקבצים שאינם קבצי טקסט.

הפסקה במקטע קבצי קלט, ``כברירת מחדל, ...'', נועדה לסגור את א
בעיית אבטחה ארוכת שנים ב ex ו vi; זה של ה"מודלין" או "הדוגמניות"
אפשרות עריכה. תכונה זו מאפשרת כל שורה בחמש השורות הראשונות או האחרונות של הקובץ
המכיל את המיתרים "לְשֶׁעָבַר:" or "vi:" (וכנראה, "אי:" or "vx:") להיות קו
המכיל פקודות עורך, ו ex מפרש את כל הטקסט עד להבא ':' אוֹ
בתור פקודה. שקול את ההשלכות, למשל, של משתמש לא חושד שמשתמש ex or
vi בתור העורך בעת תשובה להודעת דואר שבה שורה כמו:

לְשֶׁעָבַר:! rm −rf :

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

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

מבחינה היסטורית, SIGQUIT התעלמה על ידי ex, אבל היה המקביל ל- Q פקודה חזותית
מצב; כלומר, הוא יצא ממצב ויזואלי ונכנס ex מצב. POSIX.1-2008 מאפשר, אבל עושה זאת
לא דורש, התנהגות זו. מבחינה היסטורית, SIGINT שימש לעתים קרובות על ידי vi משתמשים לסיים
מצב קלט טקסט ( לרוב קל יותר להיכנס ל-C מאשר ). כמה יישומים
of vi התריע למסוף על אירוע זה, וחלקם לא. POSIX.1-2008 דורש זאת
SIGINT מתנהגים באופן זהה ושהמסוף לא יקבל התראה.

מבחינה היסטורית, השעיית ה ex עורך במצב קלט טקסט היה דומה ל-SIGINT, כמו
השורות שהושלמו נשמרו, אך כל שורה חלקית נמחקה, והעורך חזר אליו
מצב פקודה. POSIX.1-2008 שותק בנושא זה; מעודדים יישום
עקבו אחר פרקטיקה היסטורית, במידת האפשר.

מבחינה היסטורית, vi העורך לא התייחס ל-SIGTSTP כאירוע אסינכרוני, וכך היה
לכן בלתי אפשרי להשעות את העורך במצב קלט טקסט חזותי. יש שני עיקריים
סיבות לכך. הראשון הוא ש-SIGTSTP הוא אות שידור במערכות UNIX, וה-
שרשרת אירועים שבה הקליפה Execזה יישום אז Execs vi נגרמת בדרך כלל
בלבול עבור המצב המסוף אם SIGTSTP נמסר לקבוצת התהליך ב-
אופן ברירת המחדל. השני היה שרוב ההטמעות של UNIX קללות החבילה עשתה זאת
לא לטפל ב-SIGTSTP בבטחה, וקבלת SIGTSTP בזמן הלא נכון תגרום להם
להתרסק. POSIX.1-2008 שותק בנושא זה; יישומים מעודדים לטפל
השעיה כאירוע אסינכרוני במידת האפשר.

מבחינה היסטורית, שינויים במאגר העריכה שבוצעו לפני SIGINT קטעו פעולה
נשמרו; כלומר, בכל מקום מאפס ועד כל הקווים שיש לשנות
השתנו עד שה-SIGINT הגיע. שינויים אלה לא נמחקו על ידי
הגעת SIGINT. POSIX.1-2008 מתיר התנהגות זו, וציין כי לבטל פקודה היא
נדרש כדי להיות מסוגל לבטל פקודות אלה שהושלמו חלקית.

הפעולה שננקטה עבור אותות שאינם SIGINT, SIGCONT, SIGHUP ו-SIGTERM היא
לא צוין מכיוון שחלק מהיישומים מנסים לשמור את מאגר העריכה במצב שימושי
כאשר מתקבלים אותות אחרים.

תֶקֶן שְׁגִיאָה
בעד ex/vi, הודעות אבחון הן אותן הודעות שדווחו כתוצאה מניסיון כושל
להפעיל ex or vi, כגון אפשרויות לא חוקיות או משאבים לא מספיקים, או חריגה
תנאי סיום. אין לבלבל בין הודעות אבחון לבין הודעות השגיאה
נוצר על ידי פקודות משתמש לא הולמות או לא חוקיות.

אתחול in ex ו vi
אם ex פקודה (מלבד cd, chdir, או מָקוֹר) יש ארגומנט שם קובץ, אחד או שניהם
שמות הנתיבים החלופיים והנוכחיים יוגדרו. באופן לא רשמי, הם נקבעים באופן הבא:

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

2. במקרה של טפסי קריאה/כתיבה של הקובץ של לקרוא ו לכתוב פקודות, אם יש
אין שם נתיב נוכחי, שם הנתיב הנוכחי יוגדר לארגומנט שם הקובץ.

3. אחרת, שם הנתיב החלופי יוגדר לארגומנט שם הקובץ.

לדוגמה, :לַעֲרוֹך Foo ו :לְהַחלִים Foo, כשהיא מצליחה, הגדר את שם הנתיב הנוכחי, ו,
אם היה שם נתיב נוכחי קודם, שם הנתיב החלופי. הפקודות :לִכתוֹב,
!פקודה, ו :לַעֲרוֹך אין להגדיר את שמות הנתיבים הנוכחיים או החלופיים. אם ה :לַעֲרוֹך Foo
אם הפקודה תיכשל מסיבה כלשהי, שם הנתיב החלופי יוגדר. ה לקרוא ו
לכתוב פקודות מגדירים את שם הנתיב החלופי לשלהם פילה טיעון, אלא אם כן הנוכחי
שם הנתיב אינו מוגדר, ובמקרה זה הם מגדירים את שם הנתיב הנוכחי שלהם פילה ארגומנטים.
שם הנתיב החלופי לא נקבע היסטורית על ידי ה :מָקוֹר פקודה. POSIX.1-2008
דורש התאמה לפרקטיקה ההיסטורית. יישום הוספת פקודות שלוקחות
שמות קבצים כארגומנטים מומלץ להגדיר את שם הנתיב החלופי כמתואר כאן.

מבחינה היסטורית, ex ו vi קרא את ה .exrc הקובץ $ HOME ספרייה פעמיים, אם העורך
הוצא להורג ב $ HOME מַדרִיך. POSIX.1-2008 אוסר על התנהגות זו.

היסטורית, ה-4 BSD ex ו vi קרא את ה $ HOME ומקומי .exrc קבצים אם היו בבעלותם
לפי המזהה האמיתי של המשתמש, או ה sourceany נקבעה אפשרות, ללא קשר לאחר
שיקולים. זו הייתה בעיית אבטחה כי אפשר לשים UNIX רגיל
פקודות מערכת בתוך א .exrc קוֹבֶץ. POSIX.1-2008 אינו מציין את sourceany אוֹפְּצִיָה,
ומיישומים היסטוריים מעודדים למחוק אותו.

אל האני .exrc הקבצים חייבים להיות בבעלות המזהה האמיתי של המשתמש, ואינם ניתנים לכתיבה על ידי אף אחד אחר
מאשר הבעלים. חריג ההרשאות המתאימות נועד לאפשר למשתמשים לעשות זאת
לרכוש הרשאות מיוחדות, אבל להמשיך להשתמש ב .exrc קבצים בספריות הביתיות שלהם.

System V מהדורה 3.2 ואילך vi יישומים הוסיפו את האפשרות [no]exrc. ההתנהגות
זה מקומי .exrc הקבצים הם לקריאה בלבד אם exrc האפשרות מוגדרת. ברירת המחדל עבור
exrc האפשרות הייתה כבויה, אז כברירת מחדל, מקומי .exrc קבצים לא נקראו. הבעיה שזו הייתה
שנועדה לפתור הייתה שמערכת V אפשרה למשתמשים למסור קבצים, אז אין
בדיקת בעלות או כתיבה אפשרית כדי לוודא שהקובץ בטוח. זה עדיין א
בעיית אבטחה במערכות שבהן משתמשים יכולים לתת קבצים, אבל אין שום דבר
נוסף ש-POSIX.1-2008 יכול לעשות. החריג המוגדר ביישום נועד
לאפשר לקבוצות להיות מקומיות .exrc קבצים המשותפים על ידי משתמשים, על ידי יצירת פסאודו-משתמשים
לבעלות על הקבצים המשותפים.

POSIX.1-2008 אינו מזכיר את כלל המערכת ex ו vi קבצי הפעלה. בזמן שהם קיימים ב
מספר יישומים של ex ו vi, הם אינם קיימים באף יישומים
נחשב פרקטיקה היסטורית על ידי POSIX.1-2008. מימושים שיש להם קבצים כאלה
צריך להשתמש בהם רק אם הם בבעלות מזהה המשתמש האמיתי או משתמש מתאים (עבור
לדוגמה, root במערכות UNIX) ואם הם אינם ניתנים לכתיבה על ידי משתמש אחר מלבד שלהם
בעלים. יש לקרוא את קבצי ההפעלה בכל המערכת לפני ה יציאה משתנה, $HOME/.exrc,
או מקומי .exrc קבצים מוערכים.

היסטורית, כל ex ניתן להזין פקודה ב- יציאה משתנה או .exrc קובץ,
למרות שכאלה שדורשים שמאגר העריכה כבר מכיל שורות טקסט בדרך כלל
גרם ליישומים היסטוריים של העורך לרדת הליבה. POSIX.1-2008 דורש זאת
כל ex הפקודה תהיה מותרת ב יציאה משתנה ו .exrc קבצים, לשם הפשטות של
מפרט ועקביות, אם כי רבים מהם כמובן ייכשלו תחת רבים
בנסיבות.

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

מבחינה היסטורית, −ת אפשרות התנהגה כאילו חיפוש התגים היה א +הפקודה; כלומר, זה היה
מבוצע מהשורה האחרונה של הקובץ שצוין על ידי התג. זה הביא לחיפוש
נכשל אם הדפוס היה דפוס חיפוש קדימה וה- לעטוף אפשרות העריכה לא הייתה
מַעֲרֶכֶת. POSIX.1-2008 אינו מתיר התנהגות זו, ומחייב את החיפוש אחר התג
דפוס להתבצע על הקובץ כולו, ואם לא נמצא, להגדיר את השורה הנוכחית
למיקום סביר יותר בקובץ.

מבחינה היסטורית, מאגר העריכה הריק מוצג לעריכה כאשר קובץ לא צוין על ידי
המשתמש היה ללא שם. זה מותר על ידי POSIX.1-2008; עם זאת, יישומים הם
מומלץ לספק למשתמשים שם קובץ זמני עבור מאגר זה מכיוון שהוא מאפשר להם
השימוש ex פקודות המשתמשות בשם הנתיב הנוכחי במהלך הפעלות עריכה זמניות.

מבחינה היסטורית, הקובץ שצוין באמצעות ה- −ת אפשרות לא הייתה חלק מהטיעון הנוכחי
רשימה. תרגול זה מותר לפי POSIX.1-2008; עם זאת, יישומים מעודדים
כדי לכלול את שמו ברשימת הארגומנטים הנוכחית לצורך עקביות.

מבחינה היסטורית, הפקודה בדרך כלל לא בוצעה עד לקובץ שכבר קיים
נערך. POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית הזו. מצווה על זה
יכול לגרום ל הפקודה לביצוע כוללת את ex פקודות עריכה, הבא, לשחזר,
אחורה, ו תג, וה vi פקודות -^ ו -]. מבחינה היסטורית, קריאה של א
קובץ לתוך מאגר עריכה לא גרם ל- פקודה לביצוע (למרות שהיא עשויה
הגדר את שם הנתיב הנוכחי) למעט זה שהוא גרם ל- פקודה להיות
בוצע אם: העורך היה ב ex במצב, למאגר העריכה לא היה שם נתיב נוכחי, העריכה
המאגר היה ריק, ועדיין לא נוסו פקודות קריאה. עבור עקביות ו
פשטות המפרט, POSIX.1-2008 אינו מתיר התנהגות זו.

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

vi −ר *.c

ולשחזר את כל הקבצים שניתן לשחזר. בכמה יישומים, התאוששות הייתה
ניסו רק על הקובץ הראשון ששמו, והקובץ לא הוכנס לארגומנט
רשימה; באחרים, בוצע ניסיון שחזור עבור כל קובץ בשם. בנוסף, חלק היסטורי
התעלמו מהיישום −ר if −ת צוין או לא תמך בשורת הפקודה פילה
ויכוחים עם ה −ת אוֹפְּצִיָה. למען עקביות ופשטות המפרט,
POSIX.1-2008 פוסלת מקרים מיוחדים אלה, ומחייבת ניסיון שחזור
פעם ראשונה שכל קובץ נערך.

מבחינה היסטורית, vi אתחול את ` ו ' סימנים, אבל ex לא. המשמעות היא שאם ה
פקודה ראשונה פנימה ex מצב היה חזותי או אם א ex הפקודה בוצעה תחילה (לדוגמה,
vi +10 פילה), vi הוזן מבלי שהסימנים אותחלו. בגלל הסטנדרט
מפתחים האמינו שהסימנים שימושיים בדרך כלל, ולמען עקביות ופשטות
לפי המפרט, POSIX.1-2008 דורש שהם תמיד יהיו אתחול אם הם פתוחים או
מצב חזותי, או אם נמצא ex מצב ומאגר העריכה אינו ריק. לא מאתחל את זה פנימה ex
מצב אם מאגר העריכה ריק הוא פרקטיקה היסטורית; עם זאת, זה תמיד היה
אפשר להגדיר (ולהשתמש) בסימנים במאגרי עריכה ריקים בעריכה במצב פתוח וחזותי
מפגשים.

פְּנִיָה
מבחינה היסטורית, ex ו vi קיבל את טפסי הפנייה הנוספים '\/' ו '\?'. הם היו
שווה ערך ל "//" ו "??", בהתאמה. הם אינם נדרשים על ידי POSIX.1-2008, לרוב
כי אף אחד לא יכול לזכור אם אי פעם עשו משהו שונה מבחינה היסטורית.

מבחינה היסטורית, ex ו vi מותר כתובת אפס למספר פקודות, ומותר
מה היא % כתובת בקבצים ריקים עבור אחרים. לצורך עקביות, POSIX.1-2008 דורש תמיכה
לראשונים בפקודות הבודדות שבהן זה הגיוני, ופוסל זאת אחרת. ב
בנוסף, כי POSIX.1-2008 דורש זאת % להיות שווה ערך מבחינה לוגית ל "1,$", זה
נתמך גם היכן שזה הגיוני ואסור אחרת.

מבחינה היסטורית, % לא ניתן היה לעקוב אחר הכתובת בכתובות נוספות. לעקביות
ופשטות המפרט, POSIX.1-2008 דורש שיהיו כתובות נוספות
נתמך.

כל הדברים הבאים תקפים כתובות:

+++ שלוש שורות אחרי השורה הנוכחית.

/re/− שורה אחת לפני ההופעה הבאה של re.

−2 שני קווים לפני הקו הנוכחי.

3 −−−− 2 שורה אחת (שימו לב לכתובת שלילית ביניים).

1 2 3 שורה שש.

ניתן לספק כל מספר של כתובות לפקודות שלוקחות כתובות; לדוגמה,
"1,2,3,4,5p" מדפיס שורות 4 ו-5, כי שתיים הוא המספר התקף הגדול ביותר של כתובות
מקובל על ידי הדפסה פקודה. זאת, בשילוב עם תוחם,
מאפשר למשתמשים ליצור פקודות המבוססות על תבניות מסודרות בקובץ. לדוגמה, ה
הפקודה 3;/foo/;+2print יציג את השורה הראשונה אחרי שורה 3 המכילה את התבנית
Foo, בתוספת שתי השורות הבאות. שימו לב שהכתובת 3; יש להעריך לפני שהוא
נמחק כי מקור החיפוש עבור /foo/ הפקודה תלויה בזה.

מבחינה היסטורית, ניתן להוסיף ערכים לכתובות על ידי הכללתן אחרי אחת או יותר
דמויות; לדוגמה, 3 - 5p כתב את השורה השביעית של הקובץ, ו /foo/ 5
היה זהה ל /foo/+5. עם זאת, ניתן היה להוסיף רק ערכים מוחלטים; לדוגמה,
5 /foo/ הייתה טעות. POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית. כתובת
קיזוזים מצוינים בנפרד מכתובות מכיוון שהם יכולים להיות בעבר
מסופק לפקודות חיפוש במצב חזותי.

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

מבחינה היסטורית, ex ו vi קיבל את '^' תו גם ככתובת וגם כקיזוז דגל
עבור פקודות. בשני המקרים זה היה זהה ל- '-' אופי. POSIX.1-2008 לא
לדרוש או לאסור התנהגות זו.

מבחינה היסטורית, השיפורים לביטויים רגולריים בסיסיים יכולים לשמש בטיפול;
לדוגמה, '~', '\<', ו '\>'. POSIX.1-2008 דורש התאמה להיסטורי
תרגול; כלומר, שהשימוש בביטוי רגולרי יהיה עקבי, ושרגיל
שיפורי ביטוי יהיו נתמכים בכל מקום שבו נעשה שימוש בביטויים רגילים.

פיקוד קו ניתוח in ex
היסטורי ex ניתוח הפקודות היה אפילו יותר מורכב ממה שמתואר כאן. POSIX.1-2008
דורש את תת-קבוצת ניתוח הפקודה שהמפתחים הסטנדרטיים האמינו שהוא
מתועד ושניתן לצפות מהמשתמשים להשתמש בהם בצורה ניידת, וכן
זה היה עקבי היסטורית בין יישומים. (הפונקציונליות שנמחקה היא
לא ברור, במקרה הטוב.) יישומים היסטוריים ידרשו שינויים כדי לעמוד בדרישות
עם POSIX.1‐2008; עם זאת, משתמשים לא צפויים להבחין באף אחד מהשינויים הללו. רוב
של המורכבות ב ex ניתוח הוא לטפל בשלושה מקרי סיום מיוחדים:

1. !, גלוֹבָּלִי, v, וגרסאות הסינון של לקרוא ו לכתוב הפקודות מופרדות
על ידי תווים (הם יכולים להכיל תווים שהם בדרך כלל
צינורות מעטפת).

2. ex, עריכה, הבא, ו חזותי במצב פתוח וחזותי פקודות כולן לוקחות ex פקודות,
אופציונלי מכיל דמויות, כטיעונים הראשונים שלהם.

3. s הפקודה לוקחת ביטוי רגולרי כארגומנט הראשון שלה, ומשתמשת ב-
תווים תוחמים כדי לתחום את הפקודה.

מבחינה היסטורית, דמויות ב- +הפקודה טיעון של ex, עריכה, הבא,
vi, ו חזותי פקודות, וב- דפוס ו תַחֲלִיף חלק מ s פקודה, עשה
לא לתחום את הפקודה, ובמקרים מסנן עבור לקרוא ו לכתוב, וה !, גלוֹבָּלִי,
ו v פקודות, הם לא תוחמו את הפקודה כלל. לדוגמה, הדברים הבאים
הפקודות כולן תקפות:

:ערוך +25 | s/abc/ABC/ file.c
:s/ | /צינור/
:קרא !איות % | בעל טור
:global/pattern/p | ל
:s/a/b/ | s/c/d | מַעֲרֶכֶת

היסטורית, ריק או מילא שורות .exrc קבצים ו מָקוֹרd קבצים (כמו גם
יציאה משתנים ו- ex סקריפטים של פקודות) טופלו כפקודות ברירת מחדל; זה, הדפסה
פקודות. POSIX.1-2008 דורש באופן ספציפי להתעלם מהם כאשר הם נתקלים ב
.exrc ו מָקוֹרקבצי d כדי לחסל מקור נפוץ לשגיאות משתמש חדש.

מבחינה היסטורית, ex פקודות עם מספר סמוכים (או -מופרדים) קווים אנכיים
טופלו בצורה מוזרה כשהוצאו להורג מ ex מצב. למשל, הפקודה || <כרכרה-
return>, כאשר הסמן היה על שורה 1, הוצגו שורות 2, 3 ו-5 של הקובץ. ב
בנוסף, הפקודה | יציג את השורה רק אחרי השורה הבאה, במקום את
שתי השורות הבאות. הראשון עבד בצורה הגיונית יותר כאשר הוצא להורג מ vi מצב, ומוצג
שורות 2, 3 ו-4. POSIX.1-2008 דורש את vi התנהגות; כלומר, ברירת מחדל אחת
הגדלה של מספר הפקודה והשורה עבור כל מפריד פקודה, ונגרר
תווים אחרי מפרידים נמחקים.

מבחינה היסטורית, ex מותר תוספת בודדת כדמות פיקודית מובילה; ל
דוגמא, :g/pattern/:p הייתה פקודה חוקית. POSIX.1-2008 מכליל את זה כדי לדרוש זאת
כל מספר של מובילים הדמויות יופשטו.

מבחינה היסטורית, כל קידומת של ה להסיר ניתן היה לבצע את הפקודה מבלי להתערב
תווים לפי תו דגל כי בפקודה d p, p מתפרש כ
חיץ p. POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית.

מבחינה היסטורית, k ניתן לעקוב אחרי הפקודה את שם הסימן מבלי להתערב
דמויות. POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית.

מבחינה היסטורית, s ניתן לעקוב מיד אחרי הפקודה על ידי תווי דגל ואפשרות;
לדוגמה, s/e/E/|s|sgc3p הייתה פקודה חוקית. עם זאת, דמויות הדגל לא יכלו לעמוד
לבד; למשל, הפקודות sp ו s l ייכשל, בזמן שהפקודה sgp ו s gl
יצליח. (ברור, ה '#' תו הדגל שימש כתו מפריד אם זה
בצע את הפקודה.) בעיה נוספת הייתה שתווי האופציה היו צריכים להקדים את הדגל
תווים גם כאשר הפקודה צוינה במלואה; למשל, הפקודה s/e/E/pg
ייכשל, בזמן שהפקודה s/e/E/gp יצליח. POSIX.1-2008 דורש התאמה ל
פרקטיקה היסטורית.

מבחינה היסטורית, שם הפקודה הראשון עם קידומת התואמת את הקלט מהמשתמש
הייתה הפקודה שבוצעה; לדוגמה, ve, Ver, ו ל כולם הוציאו להורג את גרסה פקודה.
הפקודות היו בסדר מסוים, עם זאת, כך a מתאים לצרף, לא לְקַצֵר.
POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית. ההגבלה על הפיקוד
סדר החיפוש עבור יישומים עם הרחבות הוא להימנע מהוספת פקודות כגון
שהקידומות ההיסטוריות לא יעבדו בצורה ניידת.

יישומים היסטוריים של ex ו vi לא טיפל נכון בריבוי ex פקודות,
מופרדים על ידי תווים שנכנסו או יצאו ממצב חזותי או מהעורך.
כי יישומים של vi קיימים שאינם מציגים מצב כשל זה, POSIX.1-2008
אינו מתיר זאת.

הדרישה ששמות הפקודות האלפביתיות מורכבות מכל האלפביתי הבא
תווים עד לתו הלא-אלפביתי הבא פירושו ששמות פקודות אלפביתיות
יש להפריד מהטיעונים שלהם על ידי תו אחד או יותר לא אלפביתי, בדרך כלל
א אוֹ '!' תו, למעט כפי שצוין עבור החריגים, ה להסיר, k, ו s
פקודות.

מבחינה היסטורית, ביצוע חוזר ונשנה של ה ex ברירת מחדל הדפסה פקודות ( -D, eof,
, ) מחק כל תו הנחיה והציג את השורות הבאות
מבלי לגלול את הטרמינל; כלומר, מיד מתחת לכל השורות שהוצגו בעבר.
זה סיפק מצגת נקייה יותר של השורות בקובץ עבור המשתמש. POSIX.1-2008
אינו מחייב התנהגות זו מכיוון שהיא עשויה להיות בלתי אפשרית במצבים מסוימים; למרות זאת,
מומלץ מאוד להטמיע לספק סמנטיקה זו במידת האפשר.

מבחינה היסטורית, ניתן היה לשנות קבצים באמצע פקודה, ולקבל את
שאר הפקודה שבוצעה בקובץ החדש; לדוגמה:

:לַעֲרוֹך +25 file.c | s/abc/ABC/ | 1

הייתה פקודה חוקית, וההחלפה נוסתה בקובץ שנערך לאחרונה.
POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית. הפקודות הבאות הן
דוגמאות המממשות את ex מנתח:

הד 'פו | בָּר' > קובץ1; הד 'פו בר' > קובץ2;
vi
:לַעֲרוֹך +1 | s/|/PIPE/ | w file1 | e file2 | 1 | s/\//SLASH/ | wq

מבחינה היסטורית, לא הייתה הגנה ביישומי עורך שיש להימנע ממנו ex גלוֹבָּלִי, v, @,
or * פקודות משנות מאגרי עריכה במהלך ביצוע הפקודות המשויכות להם. כי
זה יביא כמעט תמיד לכישלון קטסטרופלי של העורך, ו
קיימים יישומים שאכן מציגים את הבעיות הללו, POSIX.1-2008 דורש את השינוי הזה
מאגר העריכה במהלך א גלוֹבָּלִי or v פקודה, או במהלך א @ or * פקודה עבור אשר שם
יהיה יותר מביצוע בודד, תהיה שגיאה. מימושים התומכים במספר
מומלץ מאוד להחיל את אותה סמנטיקה בו-זמנית
מעבר בין מאגרים גם כן.

אל האני ex ציטוט פקודות הנדרש על-ידי POSIX.1-2008 הוא ערכת-על של הציטוט בהיסטוריה
יישומים של העורך. לדוגמה, היסטורית לא היה אפשרי להימלט א
בשם קובץ; לדוגמה, :לַעֲרוֹך פו\\\ בָּר ידווח על יותר מדי שמות קבצים
הוזן עבור פקודת העריכה, ולא הייתה שיטה לברוח מ-a ב
הטיעון הראשון של an עריכה, ex, הבא, או חזותי פקודה בכלל. POSIX.1-2008 מרחיב
פרקטיקה היסטורית, המחייבת שהתנהגות ציטוט תהיה עקבית בכל ex
פקודות, פרט ל- מַפָּה, בטל את המפה, לְקַצֵר, ו לא מקוצר פקודות, אשר
בשימוש היסטורי -V במקום תווים לציטוט. לאלה
ארבע פקודות, POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית.

נטוי אחורי מצטט ex אינו אינטואיטיבי. -מתעלמים מבריחות אלא אם כן
לברוח מדמות מיוחדת; למשל, בעת הופעה פילה הרחבת טיעון, ה
מחרוזת "\\%" שווה '\%', לא "\נוֹכְחִי שם נתיב>". זה יכול להיות מבלבל עבור
משתמשים בגלל היא בדרך כלל אחת הדמויות שגורמות להרחבת מעטפת
להתבצע, ולכן יש לקחת בחשבון כללי ציטוט מעטפת.
בדרך כלל, ציטוט של תווים נחשבים רק אם הם בורחים מדמות מיוחדת, וכן
יש לספק תו ציטוט עבור כל שכבת ניתוח שעבורה התו מיועד
מיוחד. כדוגמה נוספת, רק יחיד הכרחי עבור '\l' רצף
בדפוסי החלפה חלופיים, כי הדמות 'אני' אינו מיוחד לאף אחד
שכבת ניתוח מעליו.

-V מצטט ב ex שונה במקצת מציטוט הפוך. בארבעה
פקודות היכן ציטוט V חל (לְקַצֵר, לא מקוצר, מַפָּה, ו בטל את המפה), כל
דמות עשויה להימלט על ידי א -V אם תהיה לזה משמעות מיוחדת או לא.
POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית.

יישומים היסטוריים של העורך לא דרשו תוחמים בתוך אופי
כיתות לבריחה; למשל, הפקודה :s/[/]// על המיתר "xxx/yyy" היה
למחוק את '/' מהמחרוזת. POSIX.1-2008 מתיר את הנוהג ההיסטורי הזה עבור
עקביות ומכיוון שהוא מטיל עומס גדול על יישומים בכך שהוא דורש זאת
ידע בביטויים רגולריים יהיה מובנה במנתח העורך.

מבחינה היסטורית, מצטט תווים ב ex פקודות טופלו בצורה לא עקבית. ב
ברוב המקרים, ה תו תמיד סיים את הפקודה, ללא קשר לכל
דמות בריחה קודמת, כי דמויות לא ברחו
תווים לרוב ex פקודות. עם זאת, חלקם ex פקודות (לדוגמה, s, מַפָּה, ו
קיצור) מותר תווים שיש לברוח (אם כי במקרה של מַפָּה
ו קיצור, תווים ‐V ברחו מהם במקום דמויות).
זה היה נכון לא רק בשורת הפקודה, אלא גם .exrc ו מָקוֹרד קבצים. לדוגמה,
הפקודה:

מַפָּה = פו בָּר

יצליח, למרות שלפעמים היה קשה להשיג את ‐V והמוכנס
עבר ל ex מנתח. למען עקביות ופשטות המפרט,
POSIX.1-2008 דורש שניתן יהיה לברוח תווים ב ex פקודות ב
כל הזמנים, באמצעות תווים לרוב ex פקודות ושימוש -V
תווים עבור ה מַפָּה ו קיצור פקודות. למשל, הפקודה
הדפסהרשימה נדרש לנתח בתור הפקודה היחידה הדפסהרשימה.
למרות שזה שונה מהפרקטיקה ההיסטורית, מפתחי POSIX.1-2008 האמינו שזה לא סביר
שכל סקריפט או משתמש היו תלויים בהתנהגות ההיסטורית.

מבחינה היסטורית, שגיאה בפקודה שצוינה באמצעות ה- האפשרות לא גרמה לשאר
של פקודות שיש למחוק. POSIX.1-2008 לא מאפשר זאת לצורך עקביות עם
מפתחות ממופים, ה @, גלוֹבָּלִי, מָקוֹר, ו v פקודות, ה יציאה משתנה סביבה, ו
מה היא .exrc קבצים.

קֶלֶט עריכה in ex
אחד השימושים הנפוצים של ההיסטורי ex העורך נמצא בחיבורי רשת איטיים.
עורכים הפועלים במצב קנוני יכולים לדרוש הרבה פחות תעבורה אל וממנו, והרבה פחות
עיבוד על, המכונה המארח, כמו גם תמיכה קלה יותר במסופים במצב חסימה.
מסיבות אלו, POSIX.1-2008 דורש זאת ex להיות מיושם באמצעות קלט מצב קנוני
עיבוד, כפי שנעשה באופן היסטורי.

POSIX.1-2008 אינו דורש את 4 תווי העריכה ההיסטוריים של קלט BSD ``מחיקת מילים''
או ``הבא מילולית''. מסיבה זו, לא מצוין כיצד הם מטופלים על ידי ex,
למרות שהם חייבים להיות בעלי האפקט הנדרש. יישומים שפותרים אותם לאחר ה
השורה הסתיימה באמצעות א אוֹ אופי ‐M, ומיישמים את זה
להסתמך על תמיכת מסוף המערכת הבסיסית לעיבוד זה, שניהם תואמים.
מומלץ מאוד ליישם להשתמש בפונקציונליות המערכת הבסיסית, אם בכלל
אפשרי, עבור תאימות עם ממשקי קלט טקסט אחרים של המערכת.

מבחינה היסטורית, כאשר ה eof התו שימש להפחתת ה כניסה אוטומטית רמה, ה
הסמן הוזז כדי להציג את הקצה החדש של כניסה אוטומטית תווים, אבל לא הזיז את
הסמן לשורה חדשה, וגם לא מחק את תו ‐D מהשורה.
POSIX.1-2008 אינו מציין שהסמן נשאר על אותה שורה או ששאר
הקו נמחק; עם זאת, מומלץ מאוד ליישם כדי לספק את הטוב ביותר
ממשק משתמש אפשרי; כלומר, הסמן צריך להישאר באותה שורה, ובכלל
יש למחוק את תו-D בשורה.

POSIX.1-2008 אינו מצריך את תו עריכת קלט 4 BSD ההיסטורי ``הדפסה חוזרת'',
באופן מסורתי ‐R, שהציג מחדש את הקלט הנוכחי מהמשתמש. לזה
סיבה, ומכיוון שלא ניתן ליישם את הפונקציונליות לאחר שהקו עבר
הופסק על ידי המשתמש, POSIX.1-2008 אינו מציב דרישות לגבי פונקציונליות זו.
מומלץ מאוד ליישם את הפונקציונליות ההיסטורית הזו לזמינה, אם
אפשרי.

מבחינה היסטורית, ‐Q לא ביצע פונקציה הבאה מילולית ב ex, כפי שעשה ב vi.
POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית כדי למנוע שבירת היסטורית ex
תסריטים ו .exrc קבצים.

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

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

פיקוד תיאורים in ex
מבחינה היסטורית, מספר פקודות (לדוגמה, גלוֹבָּלִי, v, חזותי, s, לכתוב, wq, יאנק, !, <,
>, &, ו ~) היו ניתנים להפעלה בקבצים ריקים (כלומר, כתובות ברירת המחדל היו 0), או
כתובות מפורשות מותרות של 0 (לדוגמה, 0 הייתה כתובת חוקית, או 0,0 הייתה חוקית
טווח). כתובות של 0, או ביצוע פקודה בקובץ ריק, הגיוני רק עבור
פקודות שמוסיפות טקסט חדש למאגר העריכה או לכתוב פקודות (כי ייתכן שמשתמשים ירצו בכך
לכתוב קבצים ריקים). POSIX.1-2008 דורש התנהגות זו עבור פקודות כאלה ואינו מאפשר זאת
אחרת, למען עקביות ופשטות המפרט.

ספירה עד א ex הפקודה תוקנה היסטורית כך שלא תהיה גדולה מהקודמת
שורה בקובץ; לדוגמה, בקובץ בן חמש שורות, הפקודה 1,6 הדפסה ייכשל, אבל ה
הפקודה 1print300 יצליח. POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית.

מבחינה היסטורית, השימוש בדגלים ב ex פקודות עלולות להיות סתומות. היסטורי כללי
התרגול היה כמתואר על ידי POSIX.1-2008, אבל היו כמה מקרים מיוחדים. ל
למשל, ה רשימה, מספר, ו הדפסה פקודות התעלמו מקיזוזים של כתובת נגררת; ל
דוגמא, 3p +++# יציג שורה 3, ו-3 תהיה השורה הנוכחית לאחר הביצוע
של הפקודה. ה לפתוח ו חזותי הפקודות התעלמו הן מהקיזוזים הנגררים והן מה-
דגלים נגררים. כמו כן, דגלים שצוינו ל- לפתוח ו חזותי פקודות קיימו אינטראקציה גרועה
עם רשימה אפשרות עריכה, והגדרה ולאחר מכן ביטול שלה במהלך הפתיחה/החזותית
הפגישה תגרום vi כדי להפסיק להציג שורות בפורמט שצוין. לעקביות
ופשטות המפרט, POSIX.1-2008 אינו מתיר אף אחד מהחריגים הללו
הכלל הכללי.

POSIX.1-2008 משתמש במילה העתק בכמה מקומות כאשר דנים בחוצצים. זה לא
נועד לרמוז על יישום.

מבחינה היסטורית, ex משתמשים לא יכלו לציין מאגרים מספריים בגלל אי ​​הבהירות
יגרום ל; למשל, בפקודה 3 להסיר 2, לא ברור אם 2 הוא חוצץ
שם או א לספור. POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית כברירת מחדל, אבל
אינו מונע הרחבות.

מבחינה היסטורית, התוכן של המאגר ללא שם הושלך לעתים קרובות לאחר פקודות
שלא השפיע עליה במפורש; לדוגמה, בעת שימוש ב- עריכה פקודה להחליף
קבצים. למען עקביות ופשטות המפרט, POSIX.1-2008 אינו מתיר זאת
התנהגות.

אל האני ex לשירות לא הייתה גישה היסטורית למאגרים המספריים, ויתרה מכך,
מחיקת שורות פנימה ex לא שינו את תוכנם. לדוגמה, אם, לאחר ביצוע מחיקה
in vi, המשתמש עבר ל ex, ביצע מחיקה נוספת ולאחר מכן עבר חזרה ל vi, ה
התוכן של המאגרים המספריים לא היה משתנה. POSIX.1-2008 דורש התאמה
לפרקטיקה ההיסטורית. מאגרים מספריים מתוארים ב- ex שירות על מנת
הגבילו את התיאור של מאגרים למיקום בודד ב-POSIX.1-2008.

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

מבחינה היסטורית, ex פקודות שבוצעו מ vi רענן את המסך כשזה לא בהחלט
צריך לעשות זאת; לדוגמה, :!תַאֲרִיך > / dev / null אינו דורש רענון מסך כי
הפלט של ה-UNIX נתונים הפקודה דורשת רק שורה אחת של המסך.
POSIX.1-2008 דורש לרענן את המסך אם הוא הוחלף, אך גורם
אין דרישות לגבי האופן שבו יישום צריך לקבל את הקביעה הזו.
יישומים עשויים לבקש ולרענן את המסך ללא קשר.

לְקַצֵר
פרקטיקה היסטורית הייתה שתווים שהוכנסו כחלק מקיצור
ההחלפה היו כפופים מַפָּה הרחבות, ה משחק מופע אפשרות עריכה, בהמשך
הרחבות קיצור וכן הלאה; כלומר, הם נדחקו באופן הגיוני אל הטרמינל
תור קלט, והיו תחליף לא פשוט. POSIX.1-2008 דורש התאמה ל
פרקטיקה היסטורית. הפרקטיקה ההיסטורית הייתה שבכל פעם שדמות שאינה מילה (שהיה
לא נמלט על ידי א -V) הוזן אחרי תו מילה, vi יבדוק עבור
קיצורי מילים. ההמחאה התבססה על סוג התו שהוזן לפני המילה
תו של צמד המילה/לא מילים שהפעילו את הצ'ק. המילה אופי של
צמד מילים/לא מילים שהפעילו את הסימון וכל התווים שהוזנו לפני ההדק
זוג שהיו מסוג זה נכללו בשיק, למעט
תווים, אשר תמיד תוחם את הקיצור.

המשמעות היא שכדי שהקיצור יעבוד, ה לה חייב להסתיים בתו מילה,
לא יכולים להיות מעברים ממילה לתווים שאינם מילים (או סְגָן ולהיפך) חוץ מ
בין הדמות האחרונה והאחרונה ב- לה, ויכול להיות שלא
דמויות ב- לה. בנוסף, בגלל כללי הציטוט ההיסטוריים, זה היה
בלתי אפשרי להזין מילולית -V ב- לה. POSIX.1-2008 דורש התאמה
לפרקטיקה ההיסטורית. יישומים היסטוריים לא הודיעו למשתמשים כאשר קיצורים
שלעולם לא ניתן היה להשתמש בהם הוכנסו; מעודדים מאוד יישומים לעשות זאת.

לדוגמה, הקיצורים הבאים יפעלו:

:אב (p להחליף
:אב p להחליף
:אב ((עמ' להחליף

הקיצורים הבאים לא יעבדו:

:אב ( להחליף
:אב (עמ להחליף

פרקטיקה היסטורית היא שמילים על vi שורת הפקודה בנקודתיים היו כפופים
הרחבת הקיצור, כולל הטיעונים ל- קיצור (ועוד מעניין) את
לא מקוצר פקודה. כי יש מימושים שלא עושים הרחבת קיצורים
עבור הטיעון הראשון לאותן פקודות, זה מותר, אך לא נדרש, על ידי
POSIX.1-2008. עם זאת, הרצף הבא:

:אב Foo בָּר
:אב Foo באז

הביא להוספת קיצור של "באז" עבור המחרוזת "בָּר" בהיסטורית
ex/vi, והרצף:

:אב 1 בָּר
:אב 2 בָּר
:לא מקוצר 2

מחק את הקיצור "foo1", לא "foo2". התנהגויות אלו אינן מותרות על ידי
POSIX.1‐2008 מכיוון שהם מפרים בבירור את ציפיות המשתמש.

זה היה פרקטיקה היסטורית -V, לא , תווים להתפרש כ
בריחה מהתווים הבאים ב- לְקַצֵר פקודה. POSIX.1-2008 דורש
התאמה לפרקטיקה ההיסטורית; עם זאת, יש לציין כי קיצור
המכיל א לעולם לא יעבוד.

צרף
מבחינה היסטורית, כל טקסט העוקב אחרי א מפריד פקודות אחרי an לצרף,
שינוי, או להכניס הפקודה הפכה לחלק מטקסט ההוספה. לדוגמה, בפקודה:

:g/pattern/append|דברים1

שורה המכילה את הטקסט "דברים 1" יצורף לכל תבנית התאמת שורה. זה
היה חוקי גם מבחינה היסטורית להזין:

:append|דברים1
2
.

והטקסט על ex שורת הפקודה תצורף יחד עם הטקסט שיוכנס אחרי
זה. עם זאת, היה באג היסטורי שהמשתמש נאלץ להזין שניים מסיימים
קווים (ה '.' שורות) כדי לסיים את מצב קלט הטקסט במקרה זה. POSIX.1-2008 דורש
התאמה לפרקטיקה ההיסטורית, אך מונעת את הצורך ההיסטורי בריבוי
קווים מסיימים.

שינוי
ראה את הרציונל עבור לצרף פקודה. תרגול היסטורי למיקום הסמן לאחר
פקודת השינוי כאשר לא הוזן טקסט, היא כמתואר ב-POSIX.1-2008. עם זאת, אחד
ידוע שהטמעת מערכת V שונה כך שהסמן ימוקם
על הכתובת הראשונה שצוינה, ולא על הקו שלפני הכתובת הראשונה. POSIX.1-2008
לא מאפשר שינוי זה לצורך עקביות.

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

שינוי מַדרִיך
הרחבה נפוצה ב ex יישומים זה להשתמש באלמנטים של a cdpath אפשרות עריכה כ
ספריות קידומת עבור נתיב טיעונים ל chdir שהם שמות נתיבים יחסיים ושלא
יש '.' or ".." כמרכיב הראשון שלהם. אלמנטים ב cdpath אפשרויות עריכה הן
-מופרד. הערך ההתחלתי של ה cdpath אפשרות עריכה היא הערך של המעטפת
CDPATH משתנה הסביבה. תכונה זו לא נכללה ב-POSIX.1-2008 מכיוון שהיא כן
לא קיים באף אחד מהיישומים הנחשבים לפרקטיקה היסטורית.

העתק
יישומים היסטוריים של ex עותקים מותרים לשורות בתוך הטווח שצוין;
לדוגמה, :2,5עותק3 הייתה פקודה חוקית. POSIX.1-2008 דורש התאמה ל
פרקטיקה היסטורית.

מחק
POSIX.1-2008 דורש תמיכה בניתוח היסטורי של א להסיר פקודה ואחריה
דגלים, ללא כל התערבות דמויות. לדוגמה:

1dp מוחק את השורה הראשונה ומדפיס את השורה השנייה.

1דלפ בנוגע ל 1dp.

1d מוחק את השורה הראשונה, שומר אותה במאגר p.

1d p1l (Pee-one-ell.) מוחק את השורה הראשונה, שומר אותה במאגר p, ורישום השורה
זה היה שני.

ערוך
היסטורית, כל ex ניתן להזין את הפקודה בתור +הפקודה ויכוח ל עריכה פקודה,
למרות שחלקם (לדוגמה, להכניס ו לצרף) היו ידועים כמבלבלים היסטוריים
יישומים. עבור עקביות ופשטות המפרט, POSIX.1-2008 דורש
שכל פקודה תתמוך כטיעון ל- עריכה פקודה.

מבחינה היסטורית, ארגומנט הפקודה בוצע כשהשורה הנוכחית מוגדרת לשורה האחרונה
של התיק, ללא קשר אם ה עריכה הפקודה בוצעה ממצב חזותי או לא.
POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית.

מבחינה היסטורית, +הפקודה שצוין ל עריכה ו הבא הפקודות הוגדרו על ידי ה
ראשון , ולא הייתה דרך לצטט אותם. לצורך עקביות, POSIX.1-2008 דורש
כי הרגיל ex יש לספק ציטוט נטוי לאחור.

מבחינה היסטורית, ציון ה +הפקודה ארגומנט לפקודת העריכה דרש שם קובץ כדי
יצוין גם כן; לדוגמה, :לַעֲרוֹך +100 תמיד ייכשל. עבור עקביות ו
פשטות המפרט, POSIX.1-2008 אינו מאפשר שימוש זה להיכשל בשל כך
סיבה.

מבחינה היסטורית, רק מיקום הסמן של הקובץ האחרון שנערך נזכר על ידי ה-
עוֹרֵך. POSIX.1-2008 דורש תמיכה זו; עם זאת, יישומים הם
מותר לזכור ולשחזר את מיקום הסמן עבור כל קובץ שנערך בעבר.

שלח
גרסאות היסטוריות של ex עורך פילה הפקודה הציגה שורה נוכחית ומספר של
שורות במאגר העריכה של 0 כאשר הקובץ היה ריק, בעוד ה- vi פקודת G
הציג שורה נוכחית ומספר שורות במאגר העריכה של 1 באותו
מַצָב. POSIX.1-2008 אינו מתיר אי התאמה זו, במקום זאת מחייב הודעה
יוצג המציין שהקובץ ריק.

גלוֹבָּלִי
פעולת שני המעבר של ה גלוֹבָּלִי ו v פקודות לא נועדו לרמוז
יישום, רק התוצאה הנדרשת של הפעולה.

השורה והעמודה הנוכחיים מוגדרים כמפורט עבור האדם ex פקודות. זֶה
הדרישה היא מצטברת; כלומר, הקו והעמודה הנוכחיים חייבים לעקוב אחר כל
פקודות המבוצעות על ידי גלוֹבָּלִי or v פקודות.

הַבלָעָה
ראה את הרציונל עבור לצרף פקודה.

מבחינה היסטורית, להכניס לא ניתן להשתמש עם כתובת אפס; כלומר, לא בעת העריכה
המאגר היה ריק. POSIX.1-2008 דורש שהפקודה הזו תתנהג באופן עקבי עם
לצרף פקודה.

לְהִצְטַרֵף
הפעולה של ה להצטרף הפקודה ביחס לתווים המיוחדים מוגדרת רק עבור
המקום של POSIX מכיוון שהכמות הנכונה של הרווח הלבן לאחר תקופה משתנה; ב
יפנית אין צורך, בצרפתית רק רווח בודד, וכן הלאה.

רשימה
התפוקה ההיסטורית של ה רשימה הפקודה הייתה עשויה להיות מעורפלת. הסטנדרט
מפתחים האמינו שתיקון זה חשוב יותר מאשר דבקות היסטורית
תרגול, ו-POSIX.1-2008 דורש פלט חד משמעי.

מַפָּה
מבחינה היסטורית, מפות מצב פקודה חלות רק על שמות פקודות; למשל, אם ה
אופי 'איקס' מופה ל 'y', הפקודה fx חיפש את 'איקס' אופי, לא ה
'y' אופי. POSIX.1-2008 דורש התנהגות זו. היסטורית, נכנסים -V as
הדמות הראשונה של א vi הפקודה הייתה שגיאה. מספר יישומים הורחבו
הסמנטיקה של vi כך ש ‐V פירושו שתו הפקודה שלאחר מכן הוא
לא ממופה. זה מותר, אך לא נדרש, לפי POSIX.1-2008. בלי קשר, באמצעות
‐V כדי לברוח מהתו השני או המאוחר ברצף של תווים שעלולים
להתאים א מַפָּה פקודה, או כל תו במצב קלט טקסט, הוא תרגול היסטורי, ו
עוצר את המפתחות שהוזנו מלהתאים למפה. POSIX.1-2008 דורש התאמה ל
פרקטיקה היסטורית.

יישומים היסטוריים אפשרו להשתמש בספרות בתור א מַפָּה הפקודה לה, אבל אז
התעלם מהמפה. POSIX.1-2008 מחייב לא להתעלם מהספרות הממופות.

היישום ההיסטורי של ה מַפָּה הפקודה לא התירה מַפָּה פקודות שהיו
יותר מתו בודד באורך אם התו הראשון היה ניתן להדפסה. ההתנהגות הזאת
מותר, אך לא נדרש, לפי POSIX.1-2008.

מבחינה היסטורית, הדמויות הממופות מופו מחדש אלא אם כן למפות מחדש אפשרות העריכה לא הוגדרה, או
הקידומת של התווים הממופים תאמה את תווי המיפוי; למשל, ב-
מַפָּה:

:מַפָּה ab ABCD

הדמויות "אב" שימשו כמות שהם ולא צומנו מחדש, אלא הדמויות "CD" היו
ממופה אם מתאים. זה יכול לגרום ללולאות אינסופיות ב- vi מנגנוני מיפוי.
POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית, וכי לולאות כאלה יהיו
ניתן להפסקה.

למפות קלט טקסט היו אותן בעיות עם הרחבת ה לה עבור ex מַפָּה! ו בטל את המפה!
פקודה כפי שעשה ex לְקַצֵר ו לא מקוצר פקודות. ראה את הרציונל עבור ex
לְקַצֵר פקודה. POSIX.1-2008 דורש שינוי דומה של פרקטיקה היסטורית כלשהי
עבור מַפָּה ו בטל את המפה פקודות, כמתואר עבור לְקַצֵר ו לא מקוצר פקודות.

מבחינה היסטורית, מַפָּהs שהיו תת-קבוצות של אחרים מַפָּההוא התנהג בצורה שונה בהתאם ל
הסדר שבו הם הוגדרו. לדוגמה:

:מַפָּה! ab קצר
:מַפָּה! א ב ג ארוך

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

:מַפָּה! א ב ג ארוך
:מַפָּה! ab קצר

הדמויות "אב" יגרום לעורך להשהות, ממתין להשלמה 'ג'
אופי, וייתכן שהדמויות לא ימופו לעולם "קצר". עבור עקביות ו
פשטות המפרט, POSIX.1-2008 מחייב להשתמש בהתאמה הקצרה ביותר בכלל
פעמים.

משך הזמן שהעורך מבלה בהמתנה עד שהדמויות ישלימו את לה is
לא מוגדר כי יכולות התזמון של מערכות לרוב אינן מדויקות ומשתנות, ו
זה עשוי להיות תלוי בגורמים אחרים כגון מהירות החיבור. הזמן צריך להיות
מספיק זמן כדי שהמשתמש יוכל להשלים את הרצף, אבל לא מספיק בשביל
המשתמש צריך לחכות. כמה יישומים של vi הוסיפו א זמן מפתח אפשרות, אשר
מאפשר למשתמשים להגדיר את מספר 0,1 שניות שהעורך ממתין להשלמתו
דמויות. מכיוון שפונקציית מסוף ממופה ומקשי הסמן נוטים להתחיל עם an
אופי, ו הוא סוף המפתח vi מצב קלט טקסט, מַפָּהמתחיל ב
תווים פטורים בדרך כלל מתקופת הזמן הקצוב הזה, או לפחות פג הזמן הקצוב
באופן שונה.

סמן
מבחינה היסטורית, משתמשים היו מסוגלים להגדיר את סימני "ההקשר הקודם" במפורש. ב
בנוסף, ה ex פקודות '' ו '` ו vi פקודות '', ``, `', ו '` כולם מתייחסים
אותו סימן. בנוסף, סימני ההקשר הקודמים לא הוגדרו אם הפקודה, עם
שהגדרת הכתובת הסימן הייתה משויכת, נכשלה. POSIX.1-2008 דורש
התאמה לפרקטיקה ההיסטורית. מבחינה היסטורית, אם קווים מסומנים נמחקו, הסימן
נמחק גם הוא, אך יופיע שוב אם השינוי יבוטל. POSIX.1-2008 דורש
התאמה לפרקטיקה ההיסטורית.

תיאור האירועים המיוחדים שקבעו את ` ו ' מסמן התאמות היסטוריות
תרגול. לדוגמה, היסטורית הפקודה /a/,/b/ לא קבע את ` ו ' סימנים, אבל
הפקודה /a/,/b/delete עשה.

הַבָּא
היסטורית, כל ex ניתן להזין את הפקודה בתור +הפקודה ויכוח ל הבא פקודה,
למרות שחלקם (לדוגמה, להכניס ו לצרף) היו ידועים כמבלבלים היסטוריים
יישומים. POSIX.1-2008 דורש שכל פקודה תהיה מותרת ושהיא תתנהג כמו
נָקוּב. ה הבא הפקודה יכולה לקבל יותר מקובץ אחד, לכן שימוש כגון:

הבא `ls [א ב ג] `

תקף; זה לא צריך להיות תקף עבור עריכה or לקרוא פקודות, למשל, בגלל שהם
מצפה רק לשם קובץ אחד.

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

מבחינה היסטורית, הבא הפקודה מיקמה את הסמן כאילו הקובץ מעולם לא נערך
לפני, בלי קשר. POSIX.1-2008 אינו מתיר התנהגות זו, מטעמי עקביות עם
עריכה פקודה.

יישום שרוצה לספק מקביל ל הבא הפקודה שערכה את
הקובץ הקודם השתמשו בפקודה קודם], שלוקח לא פילה טַעֲנָה. POSIX.1-2008
אינו דורש פקודה זו.

להרחיב
מבחינה היסטורית, לפתוח הפקודה תיכשל אם לפתוח אפשרות העריכה לא הוגדרה.
POSIX.1-2008 אינו מזכיר את לפתוח אפשרות עריכה ואינה דורשת התנהגות זו.
חלק מהיישומים ההיסטוריים אינם מאפשרים כניסה למצב פתוח ממצב פתוח או חזותי,
רק מ ex מצב. למען עקביות, POSIX.1-2008 אינו מתיר התנהגות זו.

היסטורית, כניסה למצב פתוח משורת הפקודה (כלומר, vi +פתוח) הביא
התנהגויות חריגות; למשל, ה ex להגיש ו סט פקודות, ואת vi הפקודה
-G לא עבד. למען עקביות, POSIX.1-2008 אינו מתיר התנהגות זו.

מבחינה היסטורית, לפתוח הפקודה מותרת בלבד '/' תווים שישמשו כחיפוש
תוחם דפוס. לצורך עקביות, POSIX.1-2008 מחייב שימוש במפרידי החיפוש
על ידי s, גלוֹבָּלִי, ו v פקודות יתקבלו גם כן.

לשמור
אל האני לשמר הפקודה אינה גורמת באופן היסטורי לקובץ להיחשב ללא שינוי עבור
המטרות של פקודות עתידיות שעשויות לצאת מהעורך. POSIX.1-2008 דורש
התאמה לפרקטיקה ההיסטורית.

בתיעוד היסטורי צוין כי דואר לא נשלח למשתמש כאשר שמור היה
יצא לפועל; עם זאת, יישומים היסטוריים אכן שלחו דואר במקרה זה. POSIX.1-2008
דורש התאמה ליישומים ההיסטוריים.

קופונים להדפסה
הכתיבה של NUL על ידי ה הדפסה הפקודה אינה מצוינת כמקרה מיוחד מכיוון ש-
מפתחים סטנדרטיים לא רצו לדרוש ex לתמיכה בתווי NUL. מבחינה היסטורית,
התווים הוצגו באמצעות המיפויים הסטנדרטיים של ARPA, שהם כדלקמן:

1. תווים להדפסה נשארים לבד.

2. תווי בקרה הנמוכים מ-\177 מיוצגים כ '^' ואחריו הדמות
קיזוז מה '@' תו במפת ASCII; לדוגמה, \007 מיוצג כ
'^G'.

3. \177 מיוצג כ '^' אחריו '?'.

התצוגה של תווים עם קבוצת הסיביות השמינית שלהם הייתה פחות סטנדרטית. קיים
יישומים משתמשים ב-hex (0x00), אוקטלי (\000) ובצג מטה-סיביות. (האחרון
מוצגים בתים שהביט השמיני שלהם מוגדר כשני התווים "M-" ואחריו
תצוגה של שבע סיביות כמתואר לעיל.) לזו האחרונה יש כנראה את הטענה הטובה ביותר
פרקטיקה היסטורית כי היא שימשה עבור −v אפשרות של 4 BSD ו-4 BSD נגזרות
גרסאות של חתול שירות מאז 1980.

אין צורך בפורמט תצוגה ספציפי על-ידי POSIX.1-2008.

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

היסטורית, הכל ex פקודות המתחילות באות 'פ' ניתן להזין באמצעות
גרסאות רישיות של הפקודות; לדוגמה, הדפס], לשמור], ו לָשִׂים] היו כל
שמות פקודות חוקיים. POSIX.1-2008 מתיר, אך אינו מחייב, פרקטיקה היסטורית זו
כי צורות הון של הפקודות משמשות יישומים מסוימים למטרות אחרות.

שים
מבחינה היסטורית, א ex גם הפקודה, שבוצעה ממצב פתוח או חזותי, הייתה זהה ל-
מצב פתוח או חזותי P הפקודה, אם המאגר קיבל את השם והוא נחתך במצב תווים, ו
זהה ל p הפקודה אם המאגר קיבל שם ונחתך במצב קו. אם ללא שם
מאגר היה מקור הטקסט, כל השורה ממנה נלקח הטקסט הייתה
בְּדֶרֶך כְּלַל גם, והמאגר טופל כאילו במצב קו, אבל אפשר היה לקבל
התנהגות חריגה ביותר. בנוסף, באמצעות Q פקודה לעבור אל ex מצב, ו
ואז עושה א גם לעתים קרובות הביא גם לשגיאות, כגון הוספת טקסט שהיה
לא קשור לתוכן (לכאורה) של המאגר. עבור עקביות ופשטות של
מפרט, POSIX.1-2008 אינו מתיר התנהגויות אלו. את כל ex גם פקודות הן
נדרש לפעול במצב קו, ותוכן המאגרים אינו משתנה על ידי
שינוי מצב העורך.

חומר עיוני
מבחינה היסטורית, א ex לקרוא פקודה מבוצעת ממצב פתוח או חזותי, מבוצעת במצב ריק
קובץ, השאיר שורה ריקה כשורה הראשונה של הקובץ. עבור עקביות ופשטות של
מפרט, POSIX.1-2008 אינו מתיר התנהגות זו. מבחינה היסטורית, א לקרוא בשטח פתוח
או מצב חזותי מתוכנית השאיר את הסמן בשורה האחרונה שנקראה, לא הראשונה. ל
עקביות, POSIX.1-2008 אינו מתיר התנהגות זו.

יישומים היסטוריים של ex לא הצליחו לבטל לקרוא פקודות שקוראות מתוך
פלט של תוכנית. למען עקביות, POSIX.1-2008 אינו מתיר התנהגות זו.

מבחינה היסטורית, ex ו vi הודעה לאחר מוצלח לקרוא or לכתוב הפקודה שצוינה
``תווים'', לא ``בתים''. POSIX.1-2008 דורש שמספר הבתים יהיה
מוצג, לא מספר התווים, כי זה עשוי להיות קשה ב-multi-bytes
יישומים כדי לקבוע את מספר התווים שנקראו. מעודדים יישום
כדי להבהיר את ההודעה המוצגת למשתמש.

מבחינה היסטורית, קריאה לא הותרה על קבצים שאינם סוג רגיל, מלבד ה-FIFO הזה
ניתן היה לקרוא קבצים (כנראה רק בגלל שהם לא היו קיימים מתי ex ו vi היו
נכתב במקור). כי ההיסטורי ex העריך לקרוא! ו לקרוא ! באופן שווה,
לא יכולה להיות דרך אופציונלית לאלץ את הקריאה. POSIX.1-2008 מאפשר, אך לא
לדרוש, התנהגות זו.

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

Rewind
יישומים היסטוריים תמכו ב אחורה הפקודה כאשר המשתמש ערך את ה
הקובץ הראשון ברשימה; כלומר, הקובץ ש- אחורה הפקודה תערוך. POSIX.1-2008
דורש התאמה לפרקטיקה ההיסטורית.

תחליף
מבחינה היסטורית, ex קיבל א r אפשרות s פקודה. ההשפעה של ה r האפשרות הייתה ל
השתמש בביטוי הרגולרי האחרון ששימש בכל פקודה כתבנית, זהה ל- ~
פקודה. ה r האפשרות אינה נדרשת לפי POSIX.1-2008. מבחינה היסטורית, ה c ו g אפשרויות
התחלפו; למשל, הפקודה :s/abc/def/ היה זהה ל s/abc/def/ccccgggg.
למען פשטות המפרט, POSIX.1-2008 אינו מתיר התנהגות זו.

פקודת tilde משמשת לעתים קרובות כדי להחליף את החיפוש האחרון RE. לדוגמה, ב-
סדר פעולות:

s/אדום/כחול/
/ירוק
~

מה היא ~ הפקודה שווה ערך ל:

s/ירוק/כחול/

מבחינה היסטורית, ex קיבל את כל הטפסים הבאים:

s/abc/def/
s/abc/def
s/abc/
s/abc

POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית הזו.

אל האני s הפקודה מניחה שה '^' תו תופס רק עמודה בודדת ב-
לְהַצִיג. הרבה מה ex ו vi המפרט מניח שה תופסת רק א
עמודה בודדת בתצוגה. אין ערכות תווים ידועות שעבורן זה לא
נכון.

מבחינה היסטורית, עמדת העמודה הסופית עבור הפקודות החלופיות התבססה על קודמות
תנועות עמודים; חיפוש אחר דפוס ואחריו החלפה יעזוב את העמודה
המיקום ללא שינוי, בעוד שפקודת 0 ואחריה החלפה תשנה את העמודה
עמדה לאי הראשון . למען עקביות ופשטות המפרט,
POSIX.1-2008 דורש שמיקום העמודה הסופי יהיה תמיד הראשון
לֹא .

לקבוע
יישומים היסטוריים הציגו מחדש את כל האפשרויות עבור כל מופע של את כל
מילת מפתח. POSIX.1-2008 מתיר, אך אינו מחייב, התנהגות זו.

תג
אין דרישה לאן ex ו vi יחפש את הקובץ אליו מתייחס התג
כְּנִיסָה. הפרקטיקה ההיסטורית הייתה לחפש את הנתיב שנמצא ב- תיוגים קובץ, מבוסס על
הספרייה הנוכחית. הרחבה שימושית שנמצאת בכמה יישומים היא להיראות מבוססת
גם בספרייה המכילה את קובץ התגים שהכיל את הערך. אין דרישה
נעשה לגבי איזו הפניה לתג בקובץ התגים נעשה שימוש. זה מכוון, ב
כדי לאפשר הרחבות כגון ריבוי ערכים בקובץ תגים עבור תג.

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

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

מבחינה היסטורית, vi חיפשו רק תגים בקובץ הנוכחי מהסמן הנוכחי ל-
סוף הקובץ, ולכן, אם ה לעטוף האפשרות לא הוגדרה, תגים התרחשו לפני
הסמן הנוכחי לא נמצא. POSIX.1-2008 רואה בזה באג, והטמעות
נדרשים לחפש את ההתרחשות הראשונה בקובץ, ללא קשר.

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

מיקום הסמן אחרי ה לבטל הפיקוד לא היה עקבי בהיסטורי viלפעמים
מנסה לשחזר את מיקום הסמן המקורי (גלוֹבָּלִי, לבטל, ו v פקודות), ו
לפעמים, בנוכחות מפות, הצבת הסמן על השורה האחרונה שנוספה או שונה
במקום הראשון. POSIX.1-2008 דורש התנהגות פשוטה עבור עקביות ו
פשטות המפרט.

גִרְסָה
אל האני גרסה לא ניתן לציין בדיוק את הפקודה מכיוון שאין מקובל
הגדרה של מה צריך להכיל מידע הגרסה. מעודדים יישום
לעשות משהו חכם למדי.

לכתוב
מבחינה היסטורית, ex ו vi הודעה לאחר מוצלח לקרוא or לכתוב הפקודה שצוינה
``תווים'', לא ``בתים''. POSIX.1-2008 דורש שמספר הבתים יהיה
מוצג, לא מספר התווים כי זה עשוי להיות קשה בריבוי בתים
יישומים כדי לקבוע את מספר התווים שנכתבו. יישומים הם
מומלץ להבהיר את ההודעה המוצגת למשתמש.

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

היסטורית, ניסיון לצרף לקובץ לא קיים גרם לשגיאה. זה הושאר
לא צוין ב-POSIX.1-2008 כדי לאפשר יישומים לאפשר את לכתוב להצליח, כך ש
הסמנטיקה הנספח דומה לאלו של ההיסטורי CSH.

היסטורי vi מותר לכתוב מאגרי עריכה ריקים. עם זאת, מאז הדרך vi קבל
סביב התמודדות עם קבצים ``ריקים'' הייתה תמיד שורה במאגר העריכה, לא
לא משנה מה, זה כתב אותם כקבצים של שורה אחת וריקה. POSIX.1-2008 אינו מתיר
ההתנהגות הזאת.

מבחינה היסטורית, ex החזירו את הפלט הסטנדרטי והשגיאה הסטנדרטית לערכים שלהם ממתי ex
הופעל, לפני ביצוע כתיבה לתוכניות. זה עלול להפריע למסוף
תצורה וכן להיות בעיית אבטחה עבור מסופים מסוימים. POSIX.1-2008 לא
לאפשר זאת, בדרישה שפלט התוכנית ייקלט ויוצג כאילו על ידי ex
הדפסה פקודה.

להתאים חלון
מבחינה היסטורית, ספירת השורות נקבעה לערך של לגלול אפשרות אם הסוג
התו היה סוף הקובץ. תכונה זו נשברה ברוב היישומים ההיסטוריים לאורך זמן
אולם לפני כן, ואינו מתועד בשום מקום. מסיבה זו, POSIX.1-2008 הוא נחרץ
שקט.

מבחינה היסטורית, z הפקודה הייתה -רגיש ו z + ו z - עשה דברים שונים
מֵאֲשֶׁר z+ ו z− כי לא ניתן היה להבחין בין הסוג לדגל. (הפקודות z .
ו z = היו בלתי חוקיים מבחינה היסטורית.) POSIX.1-2008 דורש התאמה להיסטורי זה
תרגול.

מבחינה היסטורית, z הפיקוד היה רחוק יותר -רגיש בכך שה לספור לא יכול להיות
-מופרד; למשל, הפקודות z= 5 ו z− 5 היו גם לא חוקיים. בגלל ה
לספור אינו מעורפל לגבי תו הסוג או הדגלים, זה לא
מותר על ידי POSIX.1-2008.

Escape
מבחינה היסטורית, ex פקודות מסנן קוראים רק את הפלט הסטנדרטי של הפקודות, נותנים
שגיאת תקן מופיעה בטרמינל כרגיל. ה vi כלי השירות, לעומת זאת, קרא את שניהם
פלט סטנדרטי ושגיאת תקן. POSIX.1-2008 דורש את ההתנהגות האחרונה עבור שניהם ex
ו vi, לעקביות.

משמרת שמאל ו משמרת ימין
מבחינה היסטורית, ניתן היה להוסיף דמויות משמרת כדי להגביר את ההשפעה של
פקודה; לדוגמה, << חורגים (או >>> הזחה) השורות 3 רמות הזחה
במקום ברירת המחדל 1. POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית.


מבחינה היסטורית, ה הפקודה ‐D מחקה את ההנחיה, וסיפקה למשתמש
הצגה ללא הפסקה של שורות ממאגר העריכה. זה לא נדרש על ידי POSIX.1-2008;
מעודדים יישומים לספק זאת במידת האפשר. מבחינה היסטורית, ה -ד
הפקודה לקחה, ואז התעלמה, א לספור. POSIX.1-2008 אינו מתיר התנהגות זו.

לכתוב קו מספר
מבחינה היסטורית, ex = פקודה, כאשר היא מבוצעת ב ex מצב במאגר עריכה ריק, דווח
0, וממצב פתוח או חזותי, דווח 1. לעקביות ופשטות של
מפרט, POSIX.1-2008 אינו מתיר התנהגות זו.

לבצע
מבחינה היסטורית, ex לא טיפל נכון בהכללה של פקודות קלט טקסט (כלומר,
לצרף, להכניס, ו שינוי) במאגרים מבוצעים. POSIX.1-2008 אינו מתיר זאת
הדרה לצורך עקביות.

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

מבחינה היסטורית, @ הפקודה לקחה מגוון של שורות, וה- @ מאגר הופעל פעם אחת לכל
קו, עם הקו הנוכחי ('.') מוגדר לכל שורה שצוינה. POSIX.1-2008 דורש
התאמה לפרקטיקה ההיסטורית.

כמה יישומים היסטוריים לא שמו לב אם התרחשו שגיאות במהלך ביצוע מאגר.
זאת, יחד עם היכולת לציין טווח של קווים עבור ex @ פקודה, עושה את זה
טריוויאלי לגרום להם ליפול הליבה. POSIX.1-2008 מחייב להפסיק את ההטמעות
ביצוע מאגר אם מתרחשת שגיאה כלשהי, אם השורה שצוינה לא קיימת, או אם
התוכן של מאגר העריכה עצמו מוחלף (לדוגמה, המאגר מבצע את ex
:לַעֲרוֹך פקודה).

רגיל ביטויים in ex
פרקטיקה היסטורית היא שהדמויות בחלק החלופי של האחרון s פקודה-
כלומר, אלה שהותאמו על ידי הזנת a '~' בביטוי הרגולרי - לא היו רחוקים יותר
מורחבת על ידי מנוע הביטוי הרגיל. אז אם התווים הכילו את המחרוזת
"א.," הם היו תואמים 'א' אחריו ".," ולא 'א' ואחריו כל דמות.
POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית.

ערוך אפשרויות in ex
הפסקאות הבאות מתארות את ההתנהגות ההיסטורית של כמה אפשרויות עריכה שהיו
לא, מכל סיבה שהיא, נכלל ב-POSIX.1-2008. היישום הוא חזק
מומלץ להשתמש בשמות אלה רק אם הפונקציונליות המתוארת כאן נתמכת במלואה.

מוּרחָב אל האני מוּרחָב אפשרות העריכה הייתה בשימוש בחלק מהיישומים של vi לספק
ביטויים רגולריים מורחבים במקום ביטויים רגולריים בסיסיים אפשרות זו
הושמט מ-POSIX.1-2008 מכיוון שהוא אינו פרקטיקה היסטורית רווחת.

פלאש אל האני פלאש אפשרות העריכה גרמה באופן היסטורי למסך להבהב במקום לצפצף
על טעות. אפשרות זו הושמטה מ-POSIX.1-2008 מכיוון שהיא לא נמצאת ב
כמה יישומים היסטוריים.

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

מודלנית אל האני מודלנית (לפעמים נקרא בשם מודלינים) אפשרות עריכה שנגרמה היסטורית ex or
vi כדי לקרוא את חמש השורות הראשונות והאחרונות של הקובץ עבור פקודות עורך. זֶה
אפשרות היא בעיית אבטחה, ומומלץ מאוד לספקים למחוק אותה
מימושים היסטוריים.

לפתוח אל האני לפתוח אפשרות העריכה אסרה באופן היסטורי את ex לפתוח ו חזותי פקודות.
אפשרות עריכה זו הושמטה מכיוון שהפקודות הללו נדרשות על ידי
POSIX.1-2008.

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

שליט אל האני שליט אפשרות העריכה הייתה בשימוש בחלק מהיישומים של vi להציג א
סרגל שורה/עמודה נוכחית עבור המשתמש. אפשרות זו הושמטה מ-POSIX.1-2008
כי זה לא פרקטיקה היסטורית רווחת.

sourceany אל האני sourceany אפשרות עריכה שנגרמה היסטורית ex or vi למקור קבצי הפעלה
שהיו בבעלות משתמשים אחרים מלבד המשתמש שמפעיל את העורך. אפשרות זו היא
בעיית אבטחה, ומומלץ מאוד לספקים להסיר אותה מהם
מימושים.

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

מִלוּלִי אל האני מִלוּלִי אפשרות העריכה הייתה בשימוש בחלק מהיישומים של vi לגרום vi
לפלט הודעות שגיאה עבור שגיאות נפוצות; לדוגמה, ניסיון להזיז את
סמן מעבר לתחילת או סוף השורה במקום להתריע רק על
מָסָך. (ההיסטורי vi רק התריע למסוף ולא הציג שום הודעה
על טעויות כאלה. אפשרות העורך ההיסטורי תַמצִיתִי לא בחר מתי
להציג הודעות שגיאה, זה רק גרם להודעות שגיאה קיימות פחות או יותר
אפשרות זו הושמטה מ-POSIX.1-2008 מכיוון שהיא לא נפוצה
פרקטיקה היסטורית; עם זאת, מיישמים מעודדים להשתמש בו אם הם רוצים
לספק הודעות שגיאה למשתמשים תמימים.

לעטוף אל האני לעטוף אפשרות העריכה הייתה בשימוש בחלק מהיישומים של vi לפרט
שוליים אוטומטיים הנמדדים מהשוליים השמאליים במקום מימין
שולים. זה שימושי כאשר נעשה שימוש בגדלים מרובים של מסך כדי לערוך א
קובץ בודד. אפשרות זו הושמטה מ-POSIX.1-2008 כי היא לא
פרקטיקה היסטורית רחבה; עם זאת, מיישמים מעודדים להשתמש בו
אם הם מוסיפים את הפונקציונליות הזו.

כניסה אוטומטית, ai
היסטורית, הפקודה 0a לא עשה שום הזחה אוטומטית, ללא קשר לזרם
הזחה של שורה 1. POSIX.1-2008 מחייב שכל הזחה הקיימת בשורה 1 תהיה
מְשׁוּמָשׁ.

הדפסה אוטומטית, ap
מבחינה היסטורית, הדפסה אוטומטית אפשרות העריכה לא הייתה עקבית לחלוטין או מבוססת רק על
שינויים במאגר העריכה. יוצאי דופן היו ה לקרוא פקודה (בעת קריאה מא
קובץ, אבל לא ממסנן), ה לצרף, שינוי, להכניס, גלוֹבָּלִי, ו v פקודות, כולם
שלא הושפעו מ הדפסה אוטומטית, וה תג פיקוד, שהושפע מ
הדפסה אוטומטית. POSIX.1-2008 דורש התאמה לפרקטיקה ההיסטורית.

מבחינה היסטורית, הדפסה אוטומטית האפשרות חלה רק על הפקודות האחרונות מבין מרובות שהוזנו
באמצעות תוחמים; לדוגמה, להסיר הושפע מ הדפסה אוטומטית,
אבל מחק|גרסה לא היה. POSIX.1-2008 דורש התאמה להיסטורי
תרגול.

כתיבה אוטומטית, aw
הוספת ה '!' אופי ל ex הבא פקודה כדי להימנע מביצוע כתיבה אוטומטית
לא נתמך ביישומים היסטוריים. POSIX.1-2008 מחייב את ההתנהגות
להתאים את השני ex פקודות לעקביות.

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

1. קח שורת טקסט ממאגר העריכה.

2. המר אותיות רישיות לאותיות קטנות בשורת הטקסט.

3. המר אותיות גדולות לאותיות קטנות בביטויים רגולריים, למעט במחלקת תווים
מפרטים.

4. התאם ביטויים רגולריים מול טקסט.

זה אומר שעם התעלם מהמקרה למעשה, הטקסט:

אל האני חתול יום שבת on מה היא מזון

יהיה מותאם על ידי

/^ה/

אבל לא על ידי:

/^[A−Z]הוא/

לצורך עקביות עם פקודות אחרות המיישמות ביטויים רגולריים, POSIX.1-2008 עושה זאת
לא לאפשר התנהגות זו.

פסקאות, סעיף
תקן ISO POSIX‐2:1993 הפך את ברירת המחדל סעיפים ו סעיפים עריכת אפשרויות
יישום מוגדר, בטענה שהם היו מכוונים היסטורית למערכת UNIX טראף
מעצב טקסט, ו"משתמש נייד" יכול להשתמש ב- {, }, [[, ]], (, ו ) פקודות ב
מצב פתוח או חזותי והסמן יעצור במקומות לא צפויים. POSIX.1-2008 מפרט
הערכים שלהם במקום POSIX בגלל הקיבוץ הבלתי רגיל (הם עובדים רק כשהם מקובצים
לשני תווים בכל פעם) פירושו שלא ניתן להשתמש בהם למטרות כלליות
תנועה, בלי קשר.

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

אל האני באופן קריא מפרט אפשרויות העריכה תואם במידה רבה את הפרקטיקה ההיסטורית. היחיד
ההבדל הוא שיישומים היסטוריים לא שמו לב שהמשתמש הגדיר את
באופן קריא אפשרות עריכה במקרים שבהם הקובץ כבר סומן לקריאה בלבד מסיבה כלשהי,
ולכן יאתחל מחדש את באופן קריא אפשרות עריכה בפעם הבאה את התוכן של
מאגר העריכה הוחלף. התנהגות זו אסורה על ידי POSIX.1-2008.

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

הדרישה שה ex גלוֹבָּלִי, v, לפתוח, לבטל, ו חזותי הפקודות מציגות דוחות
מבוסס על המספר הכולל של שורות שנוספו או נמחקו במהלך ביצוע הפקודה, וזה
פקודות המבוצעות על ידי גלוֹבָּלִי ו v פקודות לא מציגות דוחות, הוא היסטורי
תרגול. POSIX.1-2008 מרחיב את הפרקטיקה ההיסטורית בכך שהוא דורש שביצוע חיץ יהיה
מטופל באופן דומה. הסיבות לכך הן כפולות. היסטורית, רק הדו"ח של ה
הפקודה האחרונה שבוצעה מהמאגר תיראה על ידי המשתמש, כמו כל דוח חדש
להחליף את האחרון. בנוסף, המפתחים הסטנדרטיים האמינו כי ביצוע חוצץ
היה יותר במשותף עם גלוֹבָּלִי ו v פקודות מאשר עם אחרים ex פקודות, ו
צריך להתנהג באופן דומה, למען עקביות ופשטות המפרט.

showmatch, sm
משך הזמן שהסמן מבלה על התו התואם אינו מצוין מכיוון ש-
יכולות התזמון של מערכות לרוב אינן מדויקות ומשתנות. הזמן צריך להיות ארוך
מספיק כדי שהמשתמש ישים לב, אבל לא מספיק זמן כדי שהמשתמש יתעצבן. כמה
יישומים של vi הוסיפו א זמן משחק אפשרות המאפשרת למשתמשים להגדיר את המספר
של מרווחים של 0,1 שניות, הסמן עוצר על התו התואם.

מצב תצוגה
אל האני מצב תצוגה נעשה שימוש בכמה יישומים היסטוריים של ex ו vi ל
להציג את מצב העריכה הנוכחי במצב פתוח או חזותי. למצבי העריכה יש
כללו בדרך כלל ``פקודה'' ו``קלט'', ולפעמים מצבים אחרים כגון
``החלף'' ו-``שנה''. המחרוזת הוצגה בדרך כלל בשורה התחתונה של
מסך בפינה הימנית הקיצונית. בנוסף, קודמתה '*' אופי מסומן לעתים קרובות
האם התוכן של מאגר העריכה השתנה. לתצוגה האחרונה יש
לפעמים היה חלק מה מצב תצוגה אפשרות, ולפעמים על סמך אפשרות אחרת. זֶה
האפשרות לא הייתה זמינה ביישום ההיסטורי של 4 BSD של vi, אך נתפס כ
שימושי בדרך כלל, במיוחד למשתמשים מתחילים, והוא נדרש על ידי POSIX.1-2008.

אל האני smd קצרנות עבור מצב תצוגה אפשרות לא הייתה קיימת בכל היסטורית
יישומים של העורך. POSIX.1-2008 דורש זאת, לשם עקביות.

לא כל המימושים ההיסטוריים של העורך הציגו מחרוזת מצב עבור מצב פקודה,
הבדל מצב פקודה ממצב קלט טקסט על ידי היעדר מחרוזת מצב.
POSIX.1-2008 מתיר התנהגות זו עקב עקביות עם פרקטיקה היסטורית, אבל
יישומים מעודדים לספק מחרוזת תצוגה עבור שני המצבים.

פתיחה איטית
מבחינה היסטורית, פתיחה איטית האפשרות הוגדרה אוטומטית אם קצב המעבר המסוף היה נמוך יותר
מ-1200 באוד, או אם קצב הבאוד היה 1200 באוד וה- לצייר מחדש האפשרות לא הוגדרה. ה
פתיחה איטית לאופציה היו שתי השפעות. ראשית, בעת הוספת תווים באמצע שורה,
תווים שאחרי הסמן לא יידחקו קדימה, אלא ייראו כאילו נכתבו.
שנית, בעת יצירת שורת טקסט חדשה, שורות אחרי השורה הנוכחית לא יהיו
גלול מטה, אך נראה שהוחלף. בשני המקרים, סיום מצב קלט טקסט
יגרום לרענון המסך כך שיתאים לתוכן בפועל של מאגר העריכה.
לבסוף, מסופים שהיו מספיק אינטליגנטיים גרמו לעורך להתעלם
פתיחה איטית אוֹפְּצִיָה. POSIX.1-2008 מתיר את רוב ההתנהגות ההיסטורית, בהרחבה היסטורית
להתאמן לדרוש פתיחה איטית התנהגויות אם אפשרות העריכה מוגדרת על ידי המשתמש.

תיוגים
נתיב ברירת המחדל של קובצי תגים נותר לא מצוין מכיוון שיישומים עשויים להיות משלהם
תיוגים יישומים שאינם תואמים את אלה ההיסטוריים. ברירת המחדל תיוגים
ערך האופציה צריך כנראה לכלול לפחות את הקובץ ./tags.

טווח
יישומים היסטוריים של ex ו vi התעלמו משינויים ב- טווח אפשרות עריכה לאחר ה
מידע מסוף ראשוני נטען. זה מותר על ידי POSIX.1-2008; למרות זאת,
מומלץ ליישם כדי לאפשר למשתמש לשנות את סוג המסוף שלו בכל מקרה
הזמן.

תַמצִיתִי
מבחינה היסטורית, תַמצִיתִי אפשרות עריכה אופציונלית סיפקה שגיאה קצרה יותר ופחות תיאורית
הודעה, עבור כמה הודעות שגיאה. זה מותר, אך לא נדרש, לפי POSIX.1-2008.
מבחינה היסטורית, השגיאות הנפוצות ביותר במצב חזותי (לדוגמה, ניסיון להעביר את הסמן לעבר
סוף שורה) לא הביא להודעת שגיאה, אלא פשוט התריע למסוף.
מיישמים המעוניינים לספק הודעות למשתמשים מתחילים מתבקשים לעשות זאת בהתבסס על
מה היא עריכה אוֹפְּצִיָה מִלוּלִי, ולא תַמצִיתִי.

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

1. אם קצב הביאוד היה נמוך מ-1200, ה- עריכה אוֹפְּצִיָה w300 הגדר את ערך החלון; ל
לדוגמה, השורה:

סט w300=12

יגדיר את אפשרות החלון ל-12 אם קצב ה-baud היה נמוך מ-1200.

2. אם קצב ה-baud היה שווה ל-1200, ה- עריכה אוֹפְּצִיָה w1200 הגדר את ערך החלון.

3. אם קצב הבאוד היה גדול מ-1200, ה- עריכה אוֹפְּצִיָה w9600 הגדר את ערך החלון.

אל האני w300, w1200, ו w9600 אפשרויות לא מופיעות ב-POSIX.1-2008 בגלל שלהן
תלות בקצבי בונד ספציפיים.

ביישומים היסטוריים, גודל החלון המוצג על ידי פקודות שונות היה
קשור, אך לא בהכרח זהה ל- חלון אפשרות עריכה. למשל, הגודל
של החלון נקבע על ידי ex הפקודה חזותי 10, אבל זה לא שינה את הערך של
חלון אפשרות עריכה. עם זאת, שינוי הערך של חלון אפשרות העריכה אכן שינתה את
מספר השורות שהוצגו כאשר המסך נצבע מחדש. POSIX.1-2008 לא
לאפשר התנהגות זו למען העקביות והפשטות של המפרט, וכן
דורש שכל הפקודות שמשנות את מספר השורות המוצגות יעשו זאת על ידי
הגדרת הערך של חלון אפשרות עריכה.

שולי גלישה, wm
מבחינה היסטורית, שולי גלישה האפשרות לא השפיעה על מפות הוספת תווים שהיו גם
המשויך לספורs; לדוגמה :מַפָּה K 5aABC DEF. למרבה הצער, יש שימוש נרחב
מפות התלויות בהתנהגות זו. למען עקביות ופשטות המפרט,
POSIX.1-2008 אינו מתיר התנהגות זו.

מבחינה היסטורית, שולי גלישה חושב באמצעות רוחב תצוגת העמודה של כל התווים
על המסך. לדוגמה, יישום באמצעות "^אני" לייצג דמויות
כאשר רשימה הוגדרה אפשרות עריכה, איפה '^' ו 'אני' כל אחד תפס עמודה בודדת על
מסך, יחשב את שולי גלישה מבוסס על ערך של 2 לכל אחד . ה מספר
אפשרות העריכה שינתה באופן דומה גם את האורך האפקטיבי של השורה. POSIX.1-2008
דורש התאמה לפרקטיקה ההיסטורית.

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

FUTURE כיוונים


אין.

השתמש ב-exposix באינטרנט באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

  • 1
    Phaser
    Phaser
    Phaser היא פתיחה מהירה, חינמית ומהנה
    מסגרת משחק מקור HTML5 שמציעה
    עיבוד WebGL ו-Canvas לרוחב
    דפדפני אינטרנט שולחניים וניידים. משחקים
    יכול להיות שותף...
    הורד את Phaser
  • 2
    מנוע VASSAL
    מנוע VASSAL
    VASSAL הוא מנוע משחק ליצירה
    גרסאות אלקטרוניות של לוח מסורתי
    ומשחקי קלפים. זה מספק תמיכה עבור
    עיבוד ואינטראקציה של חלקי משחק,
    ו...
    הורד את VASSAL Engine
  • 3
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF היא ספריית Java ליצירה
    ועריכת קבצי PDF עם LGPL ו
    רישיון קוד פתוח MPL. OpenPDF הוא ה
    יורש הקוד הפתוח LGPL/MPL של iText,
    ...
    הורד את OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - מערכת לאוטומטיות
    ניתוחים גיאוגרפיים - הוא גיאוגרפי
    תוכנת מערכת מידע (GIS) עם
    יכולות עצומות לגיאודטה
    עיבוד ואנה...
    הורד את SAGA GIS
  • 5
    ארגז כלים עבור Java/JTOpen
    ארגז כלים עבור Java/JTOpen
    ארגז הכלים של IBM עבור Java / JTOpen הוא א
    ספריית מחלקות Java התומכות ב
    תכנות לקוח/שרת ואינטרנט
    דגמים למערכת עם OS/400,
    i5/OS, o...
    הורד את ארגז הכלים עבור Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (או D3 עבור מסמכים מבוססי נתונים)
    היא ספריית JavaScript המאפשרת לך
    לייצר נתונים דינמיים ואינטראקטיביים
    הדמיות בדפדפני אינטרנט. עם D3
    אתה...
    הורד את D3.js
  • עוד »

פקודות לינוקס

Ad