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

Ad


סמל OnWorks

zshcontrib - מקוון בענן

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

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

תָכְנִית:

שֵׁם


zshcontrib - תרומות משתמשים ל-zsh

תיאור


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

כלים


גישה באינטרנט עֶזרָה
רצף המפתחות ESC h בדרך כלל מחויב ל-ZLE לבצע את לרוץ-עזרה יישומון (ראה
zshzle(1)). זה מעורר את לרוץ-עזרה פקודה עם מילת הפקודה מהזרם
שורת קלט כארגומנט שלו. כברירת מחדל, לרוץ-עזרה הוא כינוי עבור איש פקודה, אז זה
לעתים קרובות נכשל כאשר מילת הפקודה היא מעטפת מובנית או פונקציה המוגדרת על ידי המשתמש. על ידי
הגדרה מחדש של ה לרוץ-עזרה כינוי, אפשר לשפר את העזרה המקוונת שמספקת המעטפת.

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

קובצי עזרה מותקנים כברירת מחדל בספריית משנה של /usr/share/zsh or
/usr/local/share/zsh.

כדי ליצור קבצי עזרה משלך עם קבצי עזרה, בחר או צור ספרייה שבה
קבצי עזרה של פקודות בודדות יישארו. לדוגמה, אתה יכול לבחור ~/zsh_help. אם
פרקת את הפצת zsh בספריית הבית שלך, היית משתמש בפקודות:

mkdir ~/zsh_help
פרל ~/zsh-5.1.1/Util/helpfiles ~/zsh_help

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

HELPDIR=~/zsh_help

לשימוש ב- לרוץ-עזרה פונקציה, אתה צריך להוסיף שורות משהו כמו הבאות שלך
.zshrc או קובץ הפעלה שווה ערך:

כינוי לרוץ-עזרה
autoload לרוץ-עזרה

שימו לב שעל מנת `autoload לרוץ-עזרה' לעבודה, ה לרוץ-עזרה הקובץ חייב להיות באחד מ
המדריכים המופיעים בשמם שלך fpath מערך (ראה zshparam(1)). זה כבר אמור להיות ה
מקרה אם יש לך התקנת zsh סטנדרטית; אם לא, העתק פונקציות/שונות/הפעלה-עזרה
לספרייה מתאימה.

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

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

zrecompile [ -qt ] [ שם ... ]
zrecompile [ -qt ] -p גדול מ ... [ -- גדול מ ... ]
זה מנסה למצוא *.zwc קבצים ולהרכיב אותם מחדש באופן אוטומטי אם לפחות אחד מהם
הקבצים המקוריים חדשים יותר מהקובץ הקומפילציה. זה עובד רק אם השמות
המאוחסנים בקבצי הקומפילציה הם נתיבים מלאים או שהם יחסית לספרייה ש
מכיל את .zwc קובץ.

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

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

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

אם -p ניתנת אפשרות, ה גדול מs מתפרשים כסט אחד או יותר של
טיעונים עבור zcompile, מופרד על ידי `--'. לדוגמה:

zrecompile -p \
-R ~ / .zshrc -- \
-M ~/.zcompdump -- \
~/zsh/comp.zwc ~/zsh/Completion/*/_*

זה מהדר ~ / .zshrc אל תוך ~/.zshrc.zwc אם זה לא קיים או אם זה ישן יותר
מֵאֲשֶׁר ~ / .zshrc. הקובץ הקומפילד יסומן לקריאה במקום מיפוי. ה
אותו הדבר נעשה עבור ~/.zcompdump ו ~/.zcompdump.zwc, אבל קובץ הידור הזה הוא
מסומן למיפוי. השורה האחרונה יוצרת מחדש את הקובץ ~/zsh/comp.zwc אם כל אחד מה
קבצים התואמים לדפוס הנתון חדשים ממנו.

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

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

ל ((i=1; i <= $#fpath; ++i)); do
dir=$fpath[i]
zwc=${dir:t}.zwc
if [[ $dir == (.|..) || $dir == (.|..)/* ]]; אז
להמשיך
fi
files=($dir/*(N-.))
if [[ -w $dir:h && -n $files ]]; אז
files=(${${(M)files%/*/*}#/})
if ( cd $dir:h &&
zrecompile -p -U -z $zwc $files ); אז
fpath[i]=$fpath[i].zwc
fi
fi
עשה

השמיים -U ו -z האפשרויות מתאימות לפונקציות בהתקנת ברירת המחדל של zsh fpath;
ייתכן שתצטרך להשתמש באפשרויות שונות עבור ספריות הפונקציות האישיות שלך.

לאחר שנוצרו העיכובים שלך fpath שונה כדי להתייחס אליהם, אתה יכול לשמור
אותם מעודכנים על ידי ריצה zrecompile ללא טיעונים.

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

הפעלה zkbd או כפונקציה שנטענת אוטומטית, או כסקריפט מעטפת:

ZSH -f ~/zsh-5.1.1/Functions/Misc/zkbd

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

ההקשות שנקראו על ידי zkbd נרשמים כהגדרה עבור מערך אסוציאטיבי בשם
מפתח, נכתב לקובץ בספריית המשנה .zkbd בתוך או שלך עמוד הבית or ZDOTDIR
מַדרִיך. שם הקובץ מורכב מ- מונח, מוכר ו OSTYPE פרמטרים,
מצטרפים על ידי מקפים.

אתה יכול לקרוא את הקובץ הזה לתוך שלך .zshrc או קובץ הפעלה אחר עם ה- `מָקוֹר' או '.'
הפקודות, ולאחר מכן עיין ב- מפתח פרמטר בפקודות bindkey, כמו זה:

מָקוֹר ${ZDOTDIR:-$HOME}/.zkbd/$TERM-$VENDOR-$OSTYPE
[[ -n ${key[Left]} ]] && bindkey "${key[Left]}" אחורה-char
[[ -n ${key[right]} ]] && bindkey "${key[right]}" קדימה-char
# וכו '

שימו לב שעל מנת `autoload zkbd' לעבודה, ה zkdb הקובץ חייב להיות באחד מה-
ספריות הנקובות בשמות שלך fpath מערך (ראה zshparam(1)). זה כבר אמור להיות המצב
אם יש לך התקנת zsh סטנדרטית; אם לא, העתק פונקציות/שונות/zkbd כדי
ספרייה מתאימה.

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

התסריט בשם כתב, נמצא באזור מוֹעִיל ספריית ההפצה מסופקת
למטרה זו. (אפשר גם autoload כתב, אבל כתב לא
מותקן ב - fpath כברירת מחדל.) סקריפט זה מוציא dump מפורט של מצב המעטפת,
בצורה של תסריט אחר שניתן לקרוא עם `ZSH -fכדי ליצור מחדש את המצב הזה.

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

. ~/zsh-5.1.1/Util/reporter > zsh.report

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

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

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

כתב [ היו ... ]
הדפס לפלט סטנדרטי את קבוצת המשנה המצוינת של מצב המעטפת הנוכחי. ה
היו טיעונים עשויים להיות אחד או יותר מה:

את כל פלט את כל מה שרשום למטה.
כינויים
הגדרות כינוי פלט.
כריכות
פלט מפות מפתח ZLE וכריכות.
השלמה
פלט בסגנון ישן compctl פקודות. השלמה חדשה מכוסה על ידי פונקציות
ו zstyles.
פונקציות
טעינות אוטומטיות של פלט והגדרות פונקציות.
גבולות תְפוּקָה להגביל פקודות.
אפשרויות
תְפוּקָה setopt פקודות.
סגנונות כמו zstyles.
משתנים
הקצאות פרמטרים של מעטפת פלט, בנוסף יצוא פקודות לכל סביבה
משתנים.
zstyles
תְפוּקָה zstyle פקודות.

אם היו מושמט, את כל מניחים.

למעט `את כל', כל היו ניתן לקצר בכל קידומת, אפילו יחידה
מִכְתָב; לכן a הוא זהה כינויים, z הוא זהה zstyles, וכו '

מניפולציה וו פונקציות
add-zsh-hook [ -dD ] [ -אוזקי ] וו פונקציה
מספר פונקציות מיוחדות לקליפה, כמתואר בסעיף SPECIAL
פונקציות, ראה זשמיסק(1), בכך שהם נקראים אוטומטית בנקודה מסוימת
במהלך ביצוע פגז. לכל אחד יש מערך משויך המורכב משמות של
פונקציות שייקרא באותה נקודה; אלו הם מה שנקרא `פונקציות Hook'.
פונקציית המעטפת add-zsh-hook מספק דרך פשוטה להוספה או הסרה
פונקציות מהמערך.

וו הוא אחד chpwd, תקופתי, precmd, preexec, zshaddhistory, zshexit, או
zsh_directory_name, הפונקציות המיוחדות המדוברות. ציין זאת
zsh_directory_name נקרא בצורה שונה משאר הפונקציות, אבל עשוי
עדיין ניתן לתמרן כמו קרס.

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

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

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

האפשרויות -U, -z ו -k מועברים כטיעונים ל autoload ל פונקציה. פורום
פונקציות תרמו עם zsh, האפשרויות -עוז מתאימים.

זוכר לאחרונה מדריכים


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

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

הַתקָנָה
המערכת פועלת באמצעות פונקציית hook הנקראת בכל פעם לספרייה
שינויים. כדי להתקין את המערכת, טען אוטומטית את הפונקציות הנדרשות והשתמש ב- add-zsh-hook
פונקציה שתוארה לעיל:

autoload -עוז chpwd_recent_dirs cdr add-zsh-hook
add-zsh-hook chpwd chpwd_recent_dirs

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

השתמש
כל האינטראקציה הישירה של המשתמש היא באמצעות cdr פונקציה.

הארגומנט ל-cdr הוא מספר N המקביל ל Nה-לאחרונה השתנה ל
מַדרִיך. 1 הוא הספרייה הקודמת מיד; הספרייה הנוכחית נזכרת
אך אינו מוצע כיעד. שים לב שאם יש לך מספר חלונות פתוחים, 1 עשוי
להתייחס לספרייה ששונתה בחלון אחר; אתה יכול להימנע מכך על ידי צורך
קבצים לכל מסוף לאחסון ספרייה כמתואר עבור recent-dirs-file סגנון
לְהַלָן.

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

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

השלמה לטיעון ל cdr זמין אם compinit הופעל; בחירת תפריט
מומלץ, באמצעות:

zstyle ':completion:*:*:cdr:*:*' תפריט מבחר

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

אפשרויות
ההתנהגות של cdr עשוי להשתנות על ידי האפשרויות הבאות.

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

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

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

תְצוּרָה
התצורה היא באמצעות מנגנון הסגנונות שאמור להיות מוכר מהשלמה;
אם לא, עיין בתיאור של zstyle פקודה ב-see zshmodules(1). ההקשר עבור
סגנונות הגדרה צריכים להיות ':chpwd:*' במקרה שמשמעות ההקשר מורחבת ב
עתיד, למשל:

zstyle ':chpwd:*' לאחרונה-dirs-max 0

קובע את הערך של לאחרונה-dirs-max סגנון ל-0. בפועל שם הסגנון הוא ספציפי
מספיק שהקשר של '*' אמור להיות בסדר.

יוצא מן הכלל הוא לאחרונה-dirs-insert, המשמש אך ורק את מערכת ההשלמה ו
כך גם ההקשר הרגיל של מערכת ההשלמה (':סִיוּם:*' אם שום דבר יותר ספציפי
נחוץ), אם כי שוב '*' צריך להיות בסדר בפועל.

לאחרונה-dirs-default
אם זה נכון, והפקודה מצפה לאינדקס ספרייה אחרון, וגם יש
יותר מארגומנט אחד או שהארגומנט אינו מספר שלם, ואז נופל אל
"CD". זה מאפשר לעצלנים להשתמש רק בפקודה אחת לשינוי ספרייה.
השלמה מזהה גם זאת; עיין ב-Recent-dirs-insert כיצד לשלוט
השלמה כאשר אפשרות זו נמצאת בשימוש.

recent-dirs-file
הקובץ שבו נשמרת רשימת הספריות. ברירת המחדל היא
${ZDOTDIR:-$HOME}/.chpwd-recent-dirs, כלומר זה נמצא בספריית הבית שלך אלא אם כן
הגדרת את המשתנה ZDOTDIR להצביע למקום אחר. שמות ספריות הם
נשמר ב $'...' טופס מצוטט, כך שניתן לספק כל שורה בקובץ ישירות אל
הקליפה כטיעון.

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

zstyle ':chpwd:*' recent-dirs-file \
~/.chpwd-recent-dirs-${TTY##*/} +

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

אפשר להשתמש zstyle -e כדי להפוך את הספרייה לניתנת להגדרה בזמן ריצה:

zstyle -e ':chpwd:*' recent-dirs-file pick-recent-dirs-file
pick-recent-dirs-file() {
if [[ $PWD = ~/טקסט/כתיבה(|/*) ]]; אז
תשובה=(~/.chpwd-recent-dirs-writing)
אחר
תשובה=(+)
fi
}

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

לאחרונה-dirs-insert
בשימוש עד ההשלמה. אם לאחרונה-dirs-default זה נכון, ואז להגדיר זאת ל נָכוֹן
גורם להוספת הספרייה בפועל, ולא לאינדקס שלה, בפקודה
קַו; יש לזה אותה השפעה כמו השימוש באינדקס המתאים, אבל הופך את
ההיסטוריה ברורה יותר והקו קל יותר לעריכה. עם הגדרה זו, אם חלק מ-
הארגומנט כבר הוקלד, השלמת ספרייה רגילה ולא לאחרונה
השלמת הספרייה מתבצעת; הסיבה לכך היא שההשלמה האחרונה של ספרייה היא
צפוי להיעשות על ידי רכיבה על אופניים דרך תפריט ערכים אופנה.

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

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

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

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

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

הורה גזום הורים (ליתר דיוק, אבות) מהרשימה האחרונה. אם
הווה, שינוי ישירות למטה לפי מספר כלשהו של ספריות גורם ל
הספרייה הנוכחית להחלפה. לדוגמה, שינוי מ-~pws ל
~pws/some/other/dir גורם ל-~pws לא להישאר בספרייה האחרונה
לַעֲרוֹם. זה חל רק על שינויים ישירים בספריות צאצאות;
ספריות קודמות ברשימה אינן גזומות. למשל, שינוי מ
~pws/yet/anther to ~pws/some/other/dir לא גורם ל-~pws לגזום.

תַבְנִית:דפוס
נותן דפוס zsh עבור ספריות שאסור להוסיף לספריות האחרונות
רשימה (אם עדיין לא שם). ניתן לחזור על רכיב זה כדי להוסיף שונה
דפוסים. לדוגמה, 'תבנית:/ Tmp(|/*)' עוצר / Tmp או צאצאיו
מהוספתם. ה EXTENDED_GLOB האפשרות מופעלת תמיד עבור אלה
דפוסי.

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

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

autoload -עוז add-zsh-hook
add-zsh-hook -עוז zsh_directory_name zsh_directory_name_cdr

כאשר זה נעשה, ~[1] יתייחס לספרייה העדכנית ביותר מלבד $PWD, וכן
עַל. השלמה לאחר ~[... גם עובד.

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

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

כדי להפוך את זה לקצת יותר בטוח, רק שינויים בספרייה בוצעו משורת הפקודה,
במישרין או בעקיפין באמצעות קריאות לפונקציית מעטפת (אך לא באמצעות תת-קליפות,
evals, מלכודות, פונקציות השלמה וכדומה) נשמרים. יש להשתמש בפונקציות מעטפת cd
-q or pushd -q כדי למנוע תופעות לוואי אם השינוי בספרייה יהיה בלתי נראה ב
שורת הפקודה. ראה את תוכן הפונקציה chpwd_recent_dirs לקבלת פרטים נוספים.

כֶּנֶס מידע מן גִרְסָה בקרה לפני ואחרי הטיפול מערכות


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

כדי לעשות זאת, אתה יכול להשתמש ב- vcs_info פונקציה.

ה-VCS הבאים נתמכים, המציגים את השם המקוצר שלפיו הם מופנים
בתוך המערכת:
בזאר (bzr)
http://bazaar.canonical.com/
קודוויל (תקליטור)
http://freecode.com/projects/codeville/
מערכת גירסאות במקביל (cvs)
http://www.nongnu.org/cvs/
דארקס (darcs)
http://darcs.net/
מאובן (מְאוּבָּן)
http://fossil-scm.org/
גיט (סילון)
http://git-scm.com/
קשת גנו (tla)
http://www.gnu.org/software/gnu-arch/
Mercurial (hg)
http://mercurial.selenic.com/
מונוטוני (mtn)
http://monotone.ca/
Perforce (p4)
http://www.perforce.com/
חתרנות (svn)
http://subversion.apache.org/
SVK (svk)
http://svk.bestpractical.com/

קיימת גם תמיכה במערכת ניהול התיקונים שמיכה
(http://savannah.nongnu.org/projects/quilt). ראה כסת תמיכה להלן לפרטים.

לטעון vcs_info:

autoload -עוז vcs_info

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

התחלה מהירה
כדי שתכונה זו תפעל במהירות (כולל צבעים), תוכל לבצע את הפעולות הבאות
(בהנחה, טענת vcs_info כמו שצריך - ראה למעלה):

zstyle ':vcs_info:*' פורמטים של פעולה \
'%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f '
zstyle ':vcs_info:*' פורמטים \
'%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{5}]%f '
zstyle ':vcs_info:(sv[nk]|bzr):*' פורמט ענפים '%b%F{1}:%F{3}%r'
precmd () { vcs_info }
PS1='%F{5}[%F{2}%n%F{5}] %F{3}%3~ ${vcs_info_msg_0_}%f%# '

ברור ששתי השורות האחרונות שם להדגמה. אתה צריך להתקשר vcs_info החל מ-
שֶׁלְךָ precmd פוּנקצִיָה. ברגע שזה נעשה אתה צריך א יחיד מְצוּטָט '${vcs_info_msg_0_}' in
ההנחיה שלך.

כדי להיות מסוגל להשתמש '${vcs_info_msg_0_}' ישירות בהנחיה שלך ככה, תצטרך
יש לי PROMPT_SUBST אפשרות מופעלת.

עכשיו התקשר ל vcs_info_printsys כלי עזר משורת הפקודה:

% vcs_info_printsys
## רשימה of נתמך גרסה לִשְׁלוֹט קצה אחורי:
## נכה מערכות יש לו קידומת by a שירים סִימָן (#)
bzr
תקליטור
cvs
darcs
מְאוּבָּן
סילון
hg
mtn
p4
svk
svn
tla
## טעמים (לא יכול be מְשׁוּמָשׁ in מה היא לאפשר or להשבית סגנונות; הֵם
## יש לו מופעל ו נכה עם שֶׁלָהֶם אב [git-svn -> git])
## הֵם *פחית* be מְשׁוּמָשׁ in הקשרים: ':vcs_info:git-svn:*'.
git-p4
git-svn
hg-git
hg-hgsubversion
hg-hgsvn

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

zstyle ':vcs_info:*' להשבית bzr תקליטור darcs mtn svk tla

תוכל גם לבחור כמה מהרשימה הזו ולהפעיל רק את אלה:

zstyle ':vcs_info:*' לאפשר סילון cvs svn

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

תְצוּרָה
השמיים vcs_info ניתן להגדיר תכונה באמצעות zstyle.

ראשית, ההקשר שבו אנו עובדים:
:vcs_info:מחרוזת vcs:משתמש-הקשר:רפו-שורש-שם

מחרוזת vcs
אחד מ: סילון, git-svn, git-p4, hg, hg-git, hg-hgsubversion, hg-hgsvn, darcs, bzr,
תקליטור, mtn, svn, cvs, svk, tla, p4 or מְאוּבָּן. כאשר ווים פעילים השם ווים הוא
נוסף לאחר '+'. (לִרְאוֹת הוקס in vcs_info לְהַלָן.)

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

רפו-שורש-שם
הוא השם של מאגר שבו אתה רוצה שסגנון יתאים. אז, אם אתה רוצה א
הגדרה ספציפית ל /usr/src/zsh, עם היותו קופה CVS, אתה יכול להגדיר
רפו-שורש-שם ל ZSH לעשות את זה כך.

ישנם שלושה ערכים מיוחדים עבור מחרוזת vcs: הראשון נקרא בשם -init-, זה בפנים
השפעה כל עוד לא הייתה החלטה באיזה VCS backend להשתמש. השני הוא -preinit-;
זה משומש לפני vcs_info מופעל, בעת אתחול המשתנים לייצוא הנתונים. ה
ערך מיוחד שלישי הוא פורמטים והוא משמש את vcs_info_lastmsg בשביל לחפש את זה
סגנונות.

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

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

אפשר כמובן להשתמש ':vcs_info:*' כדי להתאים את כל ה-VCS בכל ההקשרים של המשתמש בבת אחת.

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

פורמטים
רשימה של פורמטים, בשימוש כאשר לא נעשה שימוש בפורמטים של פעולה (וזה לרוב).

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

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

nvcsformats
ה"פורמטים" הללו נקבעים כאשר לא זיהינו מערכת בקרת גרסאות עבור ה
ספרייה נוכחית או vcs_info היה מושבת. זה שימושי אם אתה רוצה vcs_info ל
להשתלט לחלוטין על הדור של ההנחיה שלך. היית עושה משהו כמו
PS1='${vcs_info_msg_0_}' כדי להשיג זאת.

hgrevformat
hg משתמש גם ב-hash וגם במספר גרסה כדי להתייחס לקבוצת שינויים ספציפיים ב-a
מאגר. עם סגנון זה אתה יכול לעצב את מחרוזת הגרסה (ראה פורמט ענפים)
לכלול אחד או שניהם. זה שימושי רק כאשר קבל עדכון נכון. שימו לב, ה
מזהה גרסה מלא של 40 תווים אינו זמין (למעט בעת שימוש ב- שימוש-פשוט
option) מכיוון שביצוע hg יותר מפעם אחת בכל הנחיה הוא איטי מדי; אתה יכול
התאם אישית את ההתנהגות הזו באמצעות ווים.

מקסימום יצוא
מגדיר את המספר המרבי של vcs_info_msg__*_ משתנים vcs_info יקבע.

לאפשר רשימה של קצה אחורי שבהם ברצונך להשתמש. נבדק ב -init- הֶקשֵׁר. אם רשימה זו
מכיל פריט בשם אף לא אחד אין בשימוש אחורי בכלל ו vcs_info זה מה שאעשה
שום דבר. אם רשימה זו מכילה הכל, vcs_info ישתמש בכל הקצה האחורי הידוע. רק עם
הכל in לאפשר האם להשבית לסגנון יש השפעה כלשהי. הכל ו אף לא אחד הם מקרה
לֹא רָגִישׁ.

להשבית
רשימה של VCSs שאתה לא רוצה vcs_info כדי לבדוק מאגרים (נבדק ב-
-init- גם בהקשר). משמש רק אם לאפשר מכיל הכל.

disable-patters
רשימה של דפוסים שנבדקים מולם $PWD. אם תבנית תואמת, vcs_info
יושבת. סגנון זה מסומן ב- :vcs_info:-init-:*:-all- ההקשר.

אמר, ~/.zsh היא ספרייה תחת בקרת גרסאות, שבה אתה לא רוצה vcs_info
כדי להיות פעיל, עשה:
zstyle ':vcs_info:*' disable-patters "$HOME/.zsh(|/*)"

שימוש-שמיכה
אם מופעל, ה שמיכה קוד התמיכה פעיל במצב 'תוסף'. לִרְאוֹת כסת תמיכה
לקבלת פרטים.

שמיכה עצמאית
אם מופעל, ניסיון זיהוי מצב 'עצמאי' אם אין VCS פעיל בנתון
מַדרִיך. לִרְאוֹת כסת תמיכה לקבלת פרטים.

quilt-patch-dir
החלף את הערך של ה- $QUILT_PATCHES משתנה הסביבה. לִרְאוֹת כסת תמיכה
לקבלת פרטים.

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

לבדוק שינויים
אם מופעל, סגנון זה גורם ל- %c ו %u פורמט escapes כדי להראות מתי העבודה
בספרייה יש שינויים לא מחויבים. המחרוזות המוצגות על ידי בריחות אלה יכולות להיות
נשלט באמצעות ה stagedstr ו unstagedstr סגנונות. הצד האחורי היחיד זה
כרגע תומכים באפשרות זו סילון, hg, ו bzr (שני האחרונים רק תומכים
לא מבוים).

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

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

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

לבדוק שינויים-מבוימים
הסגנון הזה הוא כמו לבדוק שינויים, אבל הוא אף פעם לא בודק את קבצי עץ העבודה, בלבד
המטא נתונים ב- .${vcs} דיר. לכן, סגנון זה מאתחל רק את %c
לברוח (עם stagedstr) אבל לא את %u בריחה. סגנון זה מהיר יותר מ
לבדוק שינויים.

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

סגנון זה מושבת כברירת מחדל.

stagedstr
מחרוזת זו תשמש ב- %c לברוח אם יש שינויים מבוימים ב
מאגר.

unstagedstr
מחרוזת זו תשמש ב- %u לברוח אם יש שינויים לא מבויימים ב
מאגר.

הפקודה
סגנון זה גורם vcs_info להשתמש במחרוזת שסופקה בתור הפקודה לשימוש בתור
הבינארי של VCS. שימו לב, שהגדרת זאת ב':vcs_info:*' זה לא רעיון טוב.

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

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

לדוגמה, ניתן להשתמש בסגנון זה כדי להשתמש בקבצים בינאריים מהתקנה שאינה ברירת מחדל
ספריות. לְהַנִיחַ, סילון מותקן ב / usr / bin אבל מנהל המערכת שלך התקין את a
גרסה חדשה יותר ב-/usr/local/bin. במקום לשנות את הסדר שלך $ PATH
פרמטר, אתה יכול לעשות זאת:
zstyle ':vcs_info:git:*:-all-' הפקודה /usr/local/bin/git

שימוש-שרת
זה משמש את הקצה האחורי של Perforce (p4) כדי להחליט אם עליו ליצור קשר עם
שרת Perforce כדי לגלות אם ספרייה מנוהלת על ידי Perforce. זה
הדרך האמינה היחידה לעשות זאת, אך מסתכנת בעיכוב אם שם השרת
לא נמצא. אם השרת (ליתר דיוק, ה מארח: נמל צמד המתאר
לא ניתן ליצור קשר עם השרת), שמו מוכנס למערך האסוציאטיבי
vcs_info_p4_dead_servers ולא יוצר קשר שוב במהלך הפגישה עד שזה יקרה
הוסר ביד. אם לא תגדיר סגנון זה, ה p4 הקצה האחורי ניתן לשימוש רק אם
הגדרת את משתנה הסביבה P4CONFIG לשם קובץ ויש
קבצים מתאימים בספריות הבסיס של כל לקוח של Perforce. ראה תגובות
בפונקציה VCS_INFO_detect_p4 לפרטים נוספים.

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

שימוש-פשוט
אם ישנן שתי דרכים שונות לאיסוף מידע, אתה יכול לבחור את
פשוט יותר על ידי הגדרת סגנון זה כאמת; ברירת המחדל היא להשתמש ב-
קוד לא כל כך פשוט, שהוא פוטנציאלי הרבה יותר איטי אבל עשוי להיות מדויק יותר
בכל המקרים האפשריים. סגנון זה משמש את bzr ו hg אחוריים. במקרה
of hg זה יפעיל את תוכנית ה-hexdump החיצונית כדי לנתח את המצב ה-dir-state הבינארי
קובץ מטמון; שיטה זו לא תחזיר את מספר הגרסה המקומית.

קבל עדכון
אם מוגדר כ-true, vcs_info עושה את המייל הנוסף כדי להבין את הגרסה של a
עץ העבודה של המאגר (כרגע עבור סילון ו hg backends, שבו סוג זה של
מידע הוא לא תמיד חיוני). ל סילון, ערך הגיבוב של המסומן כעת
out commit זמין דרך %i הַרחָבָה. עם hg, מספר הגרסה המקומית
וה-hash הגלובלי המתאים זמינים באמצעות %i.

get-mq אם מוגדר כ-true, ה- hg הקצה האחורי יחפש תור Mercurial (mq) תיקון
מַדרִיך. מידע יהיה זמין דרך ה- `%m' החלפה.

לקבל סימניות
אם מוגדר כ-true, ה- hg backend ינסה לקבל רשימה של סימניות נוכחיות. הֵם
יהיה זמין דרך `%m' החלפה.

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

שימוש-הנחות-בורחות
קובע אם נניח שהמחרוזת המורכבת מ vcs_info כולל הנחיה
בורח. (בשימוש ע"י vcs_info_lastmsg.)

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

ווים סגנון רשימה המגדיר שמות של פונקציות Hook. לִרְאוֹת הוקס in vcs_info למטה ל
פרטים.

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

לא להגיש בקשה
סגנון בוליאני זה שולט אם backend צריך לנסות לאסוף רשימה של
תיקונים שלא הוחלו (לדוגמה עם תיקוני Mercurial Queue).

בשימוש על ידי שמיכה ו hg אחוריים.

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

פורמטים
" (%s)-[%b]%u%c-"
פורמטים של פעולה
" (%s)-[%b|%a]%u%c-"
פורמט ענפים
"%b:%r" (עבור bzr, svn, svk ו-hg)
nvcsformats
""
hgrevformat
"%r:%h"
מקסימום יצוא
2
לאפשר הכל
להשבית
(רשימה ריקה)
disable-patters
(רשימה ריקה)
לבדוק שינויים
שקר
לבדוק שינויים-מבוימים
שקר
stagedstr
(מחרוזת: "S")
unstagedstr
(מחרוזת: "U")
הפקודה
(מחרוזת ריקה)
שימוש-שרת
שקר
שימוש-פשוט
שקר
קבל עדכון
שקר
get-mq נָכוֹן
לקבל סימניות
שקר
שימוש-הנחות-בורחות
נָכוֹן
באגים שקר
ווים (רשימה ריקה)
שימוש-שמיכה
שקר
שמיכה עצמאית
שקר
quilt-patch-dir
ריק - השתמש $QUILT_PATCHES
quiltcommand
שמיכה
פורמט תיקון
Backend תלוי
פורמט nopatch
Backend תלוי
לא להגיש בקשה
שקר

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

%s ה-VCS שנמצא בשימוש (git, hg, svn וכו').
%b מידע על הסניף הנוכחי.
%a מזהה שמתאר את הפעולה. הגיוני רק ב פורמטים של פעולה.
%i מספר הגרסה או המזהה הנוכחיים. ל hg מה היא hgrevformat ניתן להשתמש בסגנון
כדי להתאים אישית את הפלט.
%c המחרוזת מה stagedstr סגנון אם יש שינויים מבוימים במאגר.
%u המחרוזת מה unstagedstr סגנון אם יש שינויים לא מבויימים ב-
מאגר.
%R ספריית הבסיס של המאגר.
%r שם המאגר. אם %R is /foo/bar/repoXY, %r is repoXY.
%S ספריית משנה בתוך מאגר. אם $PWD is /foo/bar/repoXY/בירה/טעים, %S is
בירה/טעים.
%m תחליף "שונה". זה נתון לשיקול דעתו של הקצה האחורי להחליט מה זה
החלפה מתרחבת ל.

השמיים hg ו סילון backends משתמשים ב-expando זה כדי להציג מידע על תיקון. hg מקורות
מידע תיקון מ- mq הרחבות; סילון מ השבה מחדש פקודה ומן
ו stgit סיומת. ה פורמט תיקון ו פורמט nopatch סגנונות שולטים ב
מחרוזת שנוצרה. הראשון משמש כאשר לפחות תיקון אחד מתוך תור התיקון
הוחל, והאחרון אחרת.

השמיים hg הקצה האחורי מציג מידע סימניות ב-expando זה (בנוסף ל mq
מֵידָע). ראה את get-mq ו לקבל סימניות סגנונות. שני הסגנונות הללו עשויים
להיות מופעל בו זמנית. אם שניהם מופעלים, שתי המחרוזות המתקבלות יהיו
מוצג בהפרדה באמצעות נקודה-פסיק (שלא ניתן כעת להתאים אישית).

In פורמט ענפים ההחלפות האלה נעשות:

%b שם הסניף.
%r מספר הגרסה הנוכחית או ה hgrevformat סגנון עבור hg.

In hgrevformat ההחלפות האלה נעשות:

%r מספר הגרסה המקומית הנוכחית.
%h מזהה הגרסה הגלובלי הנוכחית.

In פורמט תיקון ו פורמט nopatch ההחלפות האלה נעשות:

%p שם התיקון המוחל ביותר (מיתר-מחרוזת).
%u מספר התיקונים שלא הוחלו (מחרוזת לא מיושם).
%n מספר התיקונים שהוחלו.
%c מספר התיקונים שלא הוחלו.
%a המספר של כל התיקונים.
%g שמות הפעילים mq שומרים (hg קצה אחורי).
%G מספר הפעילים mq שומרים (hg קצה אחורי).

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

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

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

השמיים vcs_info אינטגרציה מנסה לתמוך בשתי הדרכים לשימוש בשמיכה על ידי שימוש בשתי מעט
מצבי פעולה שונים: מצב 'תוספת' ומצב 'עצמאי').

כדי שמצב 'תוספת' יהפוך לפעיל vcs_info כנראה כבר זיהה גרסה אמיתית
מערכת בקרה השולטת בספרייה. אם זה המקרה, ספרייה שמחזיקה
צריך למצוא את הטלאים של השמיכה. ספרייה זו ניתנת להגדרה באמצעות ה- `QUILT_PATCHES'
משתנה הסביבה. אם המשתנה הזה קיים הערך שלו משמש, אחרת הערך
`טלאים' מניחים. הערך מ $QUILT_PATCHES ניתן להחליף באמצעות ה
'טלאי שמיכה' סִגְנוֹן. (הערה: אתה יכול להשתמש vcs_info לשמור על הערך של $QUILT_PATCHES
לתקן כל הזמן דרך פוסט שמיכה וו).

כאשר הספרייה המדוברת נמצאה, ההנחה היא שהשמיכה פעילה. כדי לאסוף עוד
מֵידָע, vcs_info מחפש ספרייה בשם `.pc'; Quilt משתמש בספרייה הזו כדי
לעקוב אחר מצבו הנוכחי. אם הספרייה הזו לא קיימת אנחנו יודעים ששמיכה לא עשתה זאת
כל דבר לספריית העבודה (קרא: עדיין לא הוחלו תיקונים).

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

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

אם שמיכה התמיכה פועלת במצב 'תוסף', המחרוזת המופקת זמינה בתור א
החלפת פורמט פשוטה (%Q ליתר דיוק), אשר ניתן להשתמש בו פורמטים ו
פורמטים של פעולה; ראה למטה לפרטים).

אם, לעומת זאת, קוד התמיכה פועל במצב 'עצמאי', vcs_info יצטרך
להעמיד פנים כאילו שמיכה היו מערכת בקרת גרסאות בפועל. זה אומר שהגרסה
מזהה מערכת הבקרה (שאם לא כן יהיה משהו כמו `svn' או `cvs') יהיה
מוגדר ל- `-שמיכה-'. יש לכך השלכות על הקשר הסגנון בשימוש שבו נמצא המזהה הזה
האלמנט השני. vcs_info ימלא ערך תקין עבור "של המאגר"
ספריית השורש והמחרוזת המכילה את המידע על מצב השמיכה יהיו
זמין כתחליף 'שונות' (ו %Q עבור תאימות עם מצב 'תוסף'.

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

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

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

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

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

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

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

פונקציה תיאורים (פּוּמְבֵּי API)
vcs_info [משתמש-הקשר]
הפונקציה העיקרית, שמריצה את כל הקצה האחורי ומרכיבה את כל הנתונים לתוך
${vcs_info_msg__*_}. זו הפונקציה שממנה אתה רוצה להתקשר precmd אם אתה רוצה
כדי לכלול מידע עדכני בהנחיה שלך (ראה מִשְׁתַנֶה תיאור להלן).
אם ניתן ארגומנט, המחרוזת הזו תשמש במקום ברירת מחדל ב
משתמש-הקשר שדה של הקשר הסגנון.

vcs_info_hookadd
רושם באופן סטטי מספר פונקציות להוק נתון. הוו צריך להיות
ניתן כטיעון הראשון; להלן רשימה של שמות פונקציות ה-hook
להירשם אל הקרס. ה`+vi-צריך להשאיר את הקידומת ' כאן. לִרְאוֹת הוקס in
vcs_info להלן לפרטים.

vcs_info_hookdel
הסר פונקציות וו מהוו נתון. הוו צריך להינתן בתור הראשון
טיעון אי אופציה; מה להלן רשימה של שמות פונקציות Hook שיש לבטל את הרישום
מהקרס. אם `-a' משמש כטיעון הראשון, את כל התרחשויות של
הפונקציות אינן רשומות. אחרת רק המופע האחרון יוסר (אם א
הפונקציה נרשמה להוק יותר מפעם אחת). ה`+vi-הקידומת ' צריכה להיות
נשאר כאן בחוץ. לִרְאוֹת הוקס in vcs_info להלן לפרטים.

vcs_info_lastmsg
מוציא את האחרון ${vcs_info_msg__*_} ערך. לוקח בחשבון את הערך של
שימוש-הנחות-בורחות סגנון ב ':vcs_info:formats:command:-all-'. זה גם רק מדפיס
מקסימום יצוא ערכים.

vcs_info_printsys [משתמש-הקשר]
מדפיס רשימה של כל מערכות בקרת הגרסאות הנתמכות. שימושי לברר אפשרי
הקשרים (ומי מהם מופעלים) או ערכים עבור להשבית סגנון.

vcs_info_setsys
מאתחל vcs_infoהרשימה הפנימית של backends זמינים. עם הפונקציה הזו, אתה
יכול להוסיף תמיכה עבור VCSs חדשים מבלי להפעיל מחדש את המעטפת.

כל הפונקציות נקראות VCS_INFO_* מיועדים לשימוש פנימי בלבד.

מִשְׁתַנֶה תיאור
${vcs_info_msg_N_} (שים לב לקו התחתון האחורי)
איפה N הוא מספר שלם, למשל, vcs_info_msg_0_. משתנים אלה הם האחסון עבור
הודעת המידע האחרונה vcs_info השיחה התאספה. אלה הם בעוצמה
מחובר ל פורמטים, פורמטים של פעולה ו nvcsformats סגנונות שתוארו לעיל.
הסגנונות האלה הם רשימות. החבר הראשון ברשימה זו מורחב לתוך
${vcs_info_msg_0__}, השני לתוך ${vcs_info_msg_1__} וה-N' לתוך
${vcs_info_msg_N-1_}. (ראה מקסימום יצוא סגנון למעלה.)

כל המשתנים נקראים VCS_INFO_* מיועדים לשימוש פנימי בלבד.

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

עבור תצורה, ווים משנים את הקשר הסגנון:
:vcs_info:מחרוזת vcs+וו-שם:משתמש-הקשר:רפו-שורש-שם

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

דוגמא:
zstyle ':vcs_info:*+foo:*' ווים בָּר באז

זה רושם פונקציות ל-hook `foo' עבור כל הקצה האחורי. על מנת להימנע ממרחב שמות
בעיות, כל שמות הפונקציות הרשומות מופיעות ב-'+vi-', אז הפונקציות בפועל
קראו ל"פו" וו הם `+vi-bar'ו'+vi-baz'.

אם תרצה לרשום פונקציה להוק ללא קשר להקשר הנוכחי, אתה
רשאי להשתמש ב vcs_info_hookadd פוּנקצִיָה. כדי להסיר פונקציה שנוספה כך, ה-
vcs_info_hookdel ניתן להשתמש בפונקציה.

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

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

אתה יכול להעביר נתונים בין פונקציות באמצעות מערך אסוציאטיבי, מידע משתמש. לדוגמה:
+vi-git-myfirsthook(){
user_data[myval]=$myval
}
+vi-git-mysecondhook(){
# do משהו עם ${user_data[myval]}
}

ישנם מספר משתנים מיוחדים בהקשרי הוק:

ret ערך ההחזרה שמערכת ה-hooks תחזיר למתקשר. ברירת המחדל היא an
מספר שלם 'אפס'. אם וכיצד השתנה ret ערך משנה את הביצוע של המתקשר
תלוי בוו הספציפי. עיין בתיעוד הקרס למטה לפרטים.

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

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

vcs ה-VCS הנוכחי לאחר שזוהה. אותם ערכים כמו ב-enable/disable
נעשה שימוש בסגנון. זמין בכל הווים למעט הזנק.

לבסוף, הרשימה המלאה של ווים הזמינים כעת:

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

קבלת נתונים מראש
כמו הזנק אך לאחר שזוהתה ה-VCS.

gen-hg-bookmark-string
נקרא בקצה האחורי של Mercurial כאשר נוצרת מחרוזת סימניה; ה
קבל עדכון ו לקבל סימניות סגנונות חייבים להיות נכונים.

הקרס הזה מקבל את שמות הסימניות של Mercurial vcs_info נאסף מ
`הג'.

אם סימנייה פעילה, מקש ${hook_com[hg-active-bookmark]} מוגדר לזה
שֵׁם. המפתח אינו מוגדר אחרת.

בעת ההגדרה ret ללא אפס, המחרוזת פנימה ${hook_com[hg-bookmark-string]} יהיה
משמש ב %m לברוח פנימה פורמטים ו פורמטים של פעולה ויהיה זמין ב
גלוֹבָּלִי backend_misc מערך כ ${backend_misc[סימניות]}.

gen-applied-string
נקרא ב סילון (עם stgit או במהלך בסיס מחדש או מיזוג), ו hg (עם mq) קצה אחורי
וגם שמיכה תמיכה כאשר מיתר-מחרוזת מופק; ה שימוש-שמיכה zstyle
חייב להיות נכון עבור שמיכה ( mq ו stgit הקצה האחורי פעיל כברירת מחדל).

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

בעת ההגדרה ret ללא אפס, המחרוזת פנימה ${hook_com[applied-string]} יהיה
משמש ב %m לברוח פנימה פורמטים ו פורמטים של פעולה; זה יהיה זמין ב-
גלוֹבָּלִי backend_misc מערך כ $backend_misc[טלאים]}; והוא יהיה זמין בתור
%p ב פורמט תיקון ו פורמט nopatch סגנונות.

gen-unapplied-string
נקרא ב סילון (עם stgit או במהלך rebase), ו hg (עם mq) אחורי ובתוך
שמיכה תמיכה כאשר מחרוזת לא מיושם מופק; ה לא להגיש בקשה סגנון חייב
תהיה כנה.

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

בעת ההגדרה ret ללא אפס, המחרוזת פנימה ${hook_com[unapplied-string]} יהיה
זמין כ %u ב פורמט תיקון ו פורמט nopatch סגנונות.

gen-mqguards-string
נקרא ב hg backend מתי שומרים-מחרוזת מופק; ה get-mq סגנון חייב להיות
נכון (ברירת מחדל).

הוק הזה מקבל את השמות של כל פעיל mq שומרים.

בעת ההגדרה ret ללא אפס, המחרוזת פנימה ${hook_com[guards-string]} יהיה בשימוש
ב %g לברוח ב פורמט תיקון ו פורמט nopatch סגנונות.

no-vcs הוקס הזה נקרא כאשר לא זוהתה מערכת בקרת גרסאות.

ה `hook_comלא נעשה שימוש בפרמטר '.

פוסט אחורי
התקשר ברגע שה-backend סיים לאסוף מידע.

ה `hook_comהמפתחות הזמינים הם באשר ל הודעה מוגדרת וו.

פוסט שמיכה
נקרא לאחר ה שמיכה התמיכה נעשית. המידע הבא מועבר כ
טיעונים להוק: 1. מצב תמיכת השמיכה (`תוספת' או `עצמאי'); 2. ה
ספרייה המכילה את סדרת התיקון; 3. הספרייה שמכילה שמיכות
מידע סטטוס (ספריית `.pc') או המחרוזת "-נוק-" אם המדריך הזה
לא נמצא.

הפרמטר `hook_com' אינו בשימוש.

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

ה `hook_com' המפתחות הנחשבים הם 'סניף'ו'רביזיה'. הם מוגדרים ל-
ערכים שהובנו עד כה על ידי vcs_info וכל שינוי ישמש ישירות כאשר ה
ההחלפה בפועל מתבצעת.

If ret מוגדר לא-אפס, המחרוזת פנימה ${hook_com[branch-replace]} יהיה בשימוש
ללא שינוי כמו `%b' החלפה במשתנים שנקבעו על ידי vcs_info.

set-hgrev-format
נקרא לפני `hgrevformat' מוגדר. הטיעון היחיד להוק הוא הפורמט
שמוגדר בשלב זה.

ה `hook_com' המפתחות הנחשבים הם 'שירים'ו'localrev'. הם מוגדרים ל-
ערכים שהובנו עד כה על ידי vcs_info וכל שינוי ישמש ישירות כאשר ה
ההחלפה בפועל מתבצעת.

If ret מוגדר לא-אפס, המחרוזת פנימה ${hook_com[rev-replace]} יהיה בשימוש
ללא שינוי כמו `%i' החלפה במשתנים שנקבעו על ידי vcs_info.

pre-addon-quilt
וו זה משמש כאשר vcs_infoפונקציונליות השמיכה של השמיכה פעילה במצב "תוסף".
(שמיכה בשימוש על גבי מערכת בקרת גרסאות אמיתית). זה מופעל ממש לפני
כל פעולה ספציפית לשמיכה ננקטת.

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

set-patch-format
וו זה משמש לשליטה בחלק מההרחבות האפשריות ב פורמט תיקון ו
פורמט nopatch סגנונות עם מערכות תור תיקונים כגון שמיכה, mqueue וכדומה.

וו זה משמש ב סילון, hg ו שמיכה אחוריים.

הקרס מאפשר שליטה על %p (${hook_com[applied]}) ו %u
(${hook_com[unapplied]}) הרחבה בכל החלקים האחוריים שמשתמשים ב-hook. עם ה
Mercurial backend, ה %g (${hook_com[guards]}) הרחבה ניתנת לשליטה ב
בנוסף לכך.

If ret מוגדר לא-אפס, המחרוזת פנימה ${hook_com[patch-replace]} יהיה בשימוש
ללא שינוי במקום פורמט מורחב מ פורמט תיקון or פורמט nopatch.

הודעה מוגדרת
התקשר בכל פעם לפני `vcs_info_msg_N_ההודעה מוגדרת. צריך שניים
טיעונים; הראשון הוא `N' בשם משתנה ההודעה, השני הוא ה
מוגדר כעת פורמטים or פורמטים של פעולה.

ישנם מספר `hook_comמפתחות ', המשמשים כאן: `פעולה', `סניף',
`בסיס', `שם בסיס', `subdir', `מְבוּיָם', `לא מבוים', `רביזיה', `misc', `vcs
אחד `miscN' כניסה עבור כל שדה נתונים ספציפי לחלק האחורי (N החל מאפס). הֵם
מוגדרים לערכים שנקבעו עד כה על ידי vcs_info וכל שינוי ייעשה שימוש
ישירות כאשר ההחלפה בפועל מתבצעת.

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

If ret מוגדר לא-אפס, המחרוזת פנימה ${hook_com[הודעה]} יהיה בשימוש
ללא שינוי כמו ההודעה על ידי vcs_info.

אם כל זה נשמע די מבלבל, תסתכל על דוגמאות סעיף למטה וגם
ב שונות/vcs_info-examples קובץ במקור Zsh. הם מכילים קוד הסבר כלשהו.

דוגמאות
אל תשתמש vcs_info בכלל (למרות שזה בהנחיה שלך):
zstyle ':vcs_info:*' לאפשר אף לא אחד

השבת את הקצה האחורי עבור bzr ו svk:
zstyle ':vcs_info:*' להשבית bzr svk

השבת הכל אבל bzr ו svk:
zstyle ':vcs_info:*' לאפשר bzr svk

ספק פורמטים מיוחדים עבור סילון:
zstyle ':vcs_info:git:*' פורמטים ' GIT, תִינוֹק! [%b]'
zstyle ':vcs_info:git:*' פורמטים של פעולה ' GIT פעולה! [%b|%a]'

תעשיות %x הרחבה בכל מיני פורמטים (פורמטים, פורמטים של פעולה, פורמט ענפים, שמך
זה) נעשים באמצעות ה- `zformat' מובנה מה-'זש/זוטיל' מודול. זה אומר שאתה יכול
לעשות הכל עם אלה %x פריטים שבהם תומך zformat. במיוחד, אם אתה רוצה
משהו שהוא באמת ארוך כדי שיהיה לו רוחב קבוע, כמו חשיש בכספית
branchformat, אתה יכול לעשות זאת: %12.12i. זה יצמצם את ה-hash של 40 תווים ל-12 שלו
דמויות מובילות. הטופס הוא למעשה `%דקות.מקסימוםx'. אפשר יותר. עיין בסעיף
`The zsh/zutil Module' ב zshmodules(1) לפרטים.

השתמש במהיר יותר bzr Backend
zstyle ':vcs_info:bzr:*' שימוש-פשוט נָכוֹן

אם אתה כן משתמש שימוש-פשוט, אנא דווח אם הוא עושה את 'הדבר הנכון[tm]'.

הצג את מספר הגרסה בצהוב עבור bzr ו svn:
zstyle ':vcs_info:(svn|bzr):*' \
פורמט ענפים '%b%{'${fg[yellow]}'%}:%r'

אם אתה רוצה צבעים, הקפד לצרף את קודי הצבע %{...%} אם אתה רוצה להשתמש
המחרוזת שסופקה על ידי vcs_info בהנחיות.

הנה איך להדפיס את מידע VCS כפקודה (לא בהנחיה):
כינוי vcsi='vcs_info פקודה; vcs_info_lastmsg'

בדרך זו, אתה אפילו יכול להגדיר פורמטים שונים לפלט באמצעות vcs_info_lastmsg ב
':vcs_info:*:command:*'מרחב שמות.

עכשיו כמובטח, איזה קוד שמשתמש ב-hooks: נניח, אתה רוצה להחליף את המחרוזת `svn' ב-
'חתרנות' ב vcs_info's %s פורמטים תחליף.

ראשית, נספר vcs_info לקרוא לפונקציה בעת איכלוס משתני ההודעה
המידע שנאסף:
zstyle ':vcs_info:*+set-message:*' ווים svn2subversion

שום דבר לא קורה. וזה סביר, מכיוון שעדיין לא הגדרנו את הפונקציה בפועל. ל
ראה מה תת-מערכת ה-hooks מנסה לעשות, הפעל את `באגים'סגנון:
zstyle ':vcs_info:*+*:*' באגים נָכוֹן

זה אמור לתת לך מושג מה קורה. ספציפית, הפונקציה שאנחנו
מחפש הוא `+vi-svn2subversion'. שימו לב, ה- `+vi-'תחילית. אז הכל מסודר,
בדיוק כפי שתועד. כשתסיים לבדוק את פלט ניפוי הבאגים, השבת אותו שוב:
zstyle ':vcs_info:*+*:*' באגים שקר

עכשיו, בואו נגדיר את הפונקציה:
פונקציה +vi-svn2subversion() {
[[ ${hook_com[vcs_orig]} == svn ]] && hook_com[vcs]=חתרנות
}

פשוט מספיק. וזה היה יכול להיות אפילו יותר פשוט, לו רק היינו רושמים את הפונקציה שלנו
בהקשר פחות גנרי. אם נעשה זאת רק ב-`svn' ההקשר של backend, אנחנו לא צריכים
כדי לבדוק מהו הקצה האחורי הפעיל:
zstyle ':vcs_info:svn+set-message:*' ווים svn2subversion
פונקציה +vi-svn2subversion() {
hook_com[vcs]=חתרנות
}

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

שוב, אנו מתחילים ברישום פונקציה:
zstyle ':vcs_info:hg+gen-hg-bookmark-string:*' ווים hgbookmarks

ואז אנחנו מגדירים את `+vi-hgbookmarks פוּנקצִיָה:
פונקציה +vi-hgbookmarks() {
# השמיים ברירת מחדל is ל לְחַבֵּר את כל סימנייה שמות by
# פסיקים. זֶה מתערבב דברים up a קטן.
# לדמיין, יש אחד סוג of סימניות זֶה is
# מיוחד ל לך. אמר, כי זה *שֶׁלְךָ* לעבוד.
# הָהֵן סימניות להסתכל תמיד כמו זֶה: "ש/*"
# (כי שֶׁלְךָ ראשי תיבות יש לו ש, ל דוגמא).
# זֶה עושה מה היא סימניות מחרוזת להשתמש רק אלה
# סימניות. If יש יותר מֵאֲשֶׁר אחד, it
# שרשור אוֹתָם באמצעות פסיקים.
# השמיים סימניות חזר by 'חג' יש לו זמין in
# מה היא פונקציות מקומי פרמטרים.
מקומי s="${(Mj:,:)@:#sh/*}"
# עכשיו, מה היא תקשורת עם מה היא קוד זֶה שיחות
# מה היא וו פונקציות is עשה באמצעות מה היא hook_com[]
# hash. השמיים מפתח at אשר מה היא `gen-hg-bookmark-string'
# וו נראה is `hg-bookmark-string'. כך:
hook_com[hg-bookmark-string]=$s
# ו ל אוֹת זֶה we רוצה ל להשתמש מה היא מחרוזת we
# רק נוצר, סט מה היא מיוחד משתנה `מחור` ל
# משהו אַחֵר מֵאֲשֶׁר מה היא ברירת מחדל אֶפֶס:
ret=1
לַחֲזוֹר 0
}

כמה דוגמאות ארוכות יותר וקטעי קוד שעשויים להיות שימושיים זמינים בדוגמאות
קובץ הממוקם ב-Misc/vcs_info-examples בספריית המקור Zsh.

זה מסיים את הסיור המודרך שלנו דרך zsh's vcs_info.

להניע ערכות נושא


הַתקָנָה
עליך לוודא את כל הפונקציות מ- פונקציות/הנחיות ספריית המקור
הפצה זמינה; כולם מתחילים במחרוזת `מיידי_' חוץ מ ה
פונקציה מיוחדת`promptinit'. אתה גם צריך את `צבעים' פונקציה מ פונקציות/שונות.
ייתכן שכל הפונקציות הללו כבר הותקנו במערכת שלך; אם לא, אתה תעשה זאת
צריך למצוא אותם ולהעתיק אותם. הספרייה צריכה להופיע כאחד המרכיבים של
מה היא fpath מערך (זה כבר אמור להיות המצב אם הם היו מותקנים), ולפחות את
פונקציה promptinit יש לטעון אוטומטית; זה יטען אוטומטית את השאר. לבסוף, ל
אתחול השימוש במערכת שאתה צריך להתקשר ל promptinit פוּנקצִיָה. הבאים
קוד אצלך .zshrc יסדר זאת; נניח שהפונקציות מאוחסנות ב-
בספרייה ~/myfns:

fpath=(~/myfns $fpath)
autoload -U promptinit
promptinit

נושא בחירה
השתמש הפקודה הפקודה כדי לבחור את הנושא המועדף עליך. פקודה זו עשויה להתווסף לשלך
.zshrc בעקבות הקריאה ל promptinit כדי להתחיל את zsh עם ערכת נושא כבר
נבחר.

הפקודה [ -c | -l ]
הפקודה [ -p | -h ] [ נושא ... ]
הפקודה [ -s ] נושא [ גדול מ ... ]
הגדר או בחן את ערכת ההנחיות. בלי אפשרויות וא נושא טיעון, הנושא
עם השם הזה מוגדר כנושא הנוכחי. הנושאים הזמינים נקבעים ב
זמן ריצה; להשתמש ב -l אפשרות לראות רשימה. המיוחד נושא `אקראי' בוחר ב
אקראי אחד מהנושאים הזמינים ומגדיר את ההנחיה שלך לכך.

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

האפשרויות הן:

-c הצג את ערכת הנושא שנבחרה כעת ואת הפרמטרים שלה, אם יש.
-l רשום את כל נושאי ההנחיות הזמינים.
-p הצג תצוגה מקדימה של הנושא שנקרא על ידי נושא, או כל הנושאים אם לא נושא נתון.
-h הצג עזרה עבור הנושא שנקרא על ידי נושא, או עבור ה הפקודה לתפקד אם לא
נושא נתון.
-s לקבוע נושא כנושא הנוכחי ומצב שמירה.

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

ZLE פונקציות


יישומונים
כל הפונקציות הללו מיישמות ווידג'טים של ZLE המוגדרים על ידי המשתמש (ראה zshzle(1)) שניתן לאגד
להקשות בקליפות אינטראקטיביות. כדי להשתמש בהם, שלך .zshrc צריך להכיל שורות של
טופס

autoload פונקציה
לִרְאוֹת -N פונקציה

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

פונקציות מילים בסגנון bash
אם אתה מחפש פונקציות ליישום מעבר ועריכת מילים ב-
אופן bash, שבו רק תווים אלפאנומריים נחשבים לתווי מילים,
אתה יכול להשתמש בפונקציות המתוארות בסעיף הבא. להלן
מַסְפִּיק:

autoload -U סגנון בחירה
סגנון בחירה לחבוט

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

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

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

לחבוט תווי מילים הם תווים אלפאנומריים בלבד.

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

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

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

ברירת מחדל
שחזר את הגדרות ברירת המחדל; זה בדרך כלל זהה ל-`נוֹרמָלִי'.

הכל מלבד `ברירת מחדל' ניתן להזין בתור תו רישיון, שיש לו אותו
אפקט אך עם התאמת מילות המשנה מופעלת. במקרה זה, מילים עם אותיות רישיות
תווים מטופלים במיוחד: כל ריצה נפרדת של אותיות רישיות, או
תו רישיון ואחריו כל מספר של תווים אחרים, נחשב ל-a
מִלָה. הסגנון טווח מילות משנה יכול לספק טווח תווים חלופי ל-
ברירת המחדל `[:עֶלִיוֹן:]'; הערך של הסגנון מטופל כתוכן של `[...]'
דפוס (שים לב שאין לספק את הסוגריים החיצוניים, אלא רק את אלה
מסביב לטווחים בעלי שם).

ניתן להשיג שליטה רבה יותר באמצעות zstyle פקודה, כמתואר ב
zshmodules(1). כל סגנון נבדק בהקשר :zle:יישומון איפה יישומון is
שם הווידג'ט המוגדר על ידי המשתמש, לא שם הפונקציה המיישמת אותו,
כך במקרה של ההגדרות שסופקו על ידי סגנון בחירה המתאים
ההקשרים הם :zle:forward-word, וכולי. הפונקציה סגנון בחירה עצמו
תמיד מגדיר סגנונות עבור ההקשר `:zle:*' שניתן לעקוף אותו על ידי יותר
דפוסים ספציפיים (ארוכים יותר) כמו גם הקשרים מפורשים.

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

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

מפורט
דומה נוֹרמָלִי, אבל רק התווים שצוינו, ולא גם
אלפאנומריות, נחשבות לתווי מילים.

שלא פורטו
השלילה של שצוין. הדמויות הנתונות הן אלו שיעשו זאת לֹא be
נחשב לחלק ממילה.

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

מרחב לבן
מילים הן מחרוזות תווים מופרדות ברווחים לבנים.

שלושת הכללים הראשונים האלה משתמשים בדרך כלל $WORDCHARS, אבל הערך ב-
ניתן לעקוף את הפרמטר על ידי הסגנון מילים-תווים, שעובד בדיוק ב
באותה דרך כמו $WORDCHARS. בנוסף, הסגנון רמה עולמית משתמש במחלקת תווים
תחביר לקבוצת תווים וקיבל עדיפות על פני מילים-תווים אם שניהם מוגדרים.
השמיים רמה עולמית הסגנון אינו כולל את הסוגריים שמסביב לדמות
מעמד; לדוגמה, `-:[:alnum:]' הוא תקף רמה עולמית לכלול את כולם
אלפאנומריה בתוספת התווים `-'ו':'. היזהר כולל `]', `^
`-מכיוון שאלו שיעורי אופי מיוחדים.

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

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

zstyle ':zle:transpose-words' דילוג על תווים 1

הוגדר, ו המרת-מילים-התאמה נקרא עם הסמן על X of
FooXבָּר, שם X יכול להיות כל תו, אז הביטוי המתקבל הוא בָּרXFoo.

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

הסגנון דלג-חלל לבן-ראשון משמש רק עם מילה קדימה יישומון. אם זה
מוגדר כאמת, אם כך מילה קדימה מדלג על כל תווים שאינם מילים, ואחריו כל תווים
תווים שאינם מילים: זה דומה להתנהגות של מונחי מילים אחרים
ווידג'טים, וגם זה שמשמש עורכים אחרים, אולם הוא שונה מהתקן
התנהגות zsh. כשמשתמש סגנון בחירה הווידג'ט מוגדר בהקשר
:zle:* ל נָכוֹן אם המילה סגנון היא לחבוט ו שקר אחרת. זה עשוי להיות מוחלף
על ידי הגדרתו בהקשר הספציפי יותר :zle:forward-word*.

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

zstyle ':zle:*' בסגנון מילה תֶקֶן
zstyle ':zle:*' מילים-תווים ''

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

סגנון ':zle:*להרוג*' בסגנון מילה שטח

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

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

zstyle ':zle:*' מילה-קונטקסט \
"*/*" פילה "[[:מֶרחָב:]]" מרחב לבן
zstyle ':zle:transpose-words:whitespace' בסגנון מילה פָּגָז
zstyle ':zle:transpose-words:filename' בסגנון מילה נוֹרמָלִי
zstyle ':zle:transpose-words:filename' מילים-תווים ''

זה מספק שתי דרכים שונות לשימוש טרנספוזיציה-מילים תלוי אם ה
הסמן נמצא על רווח לבן בין מילים או על שם קובץ, כאן כל מילה המכילה a
/. ברווח לבן, ארגומנטים שלמים כפי שהוגדרו על ידי כללי מעטפת סטנדרטיים יהיו
מְשׁוּרבָּב. בשם קובץ, רק אלפאנומריות יועברו. בְּמָקוֹם אַחֵר,
מילים יועברו באמצעות סגנון ברירת המחדל עבור :zle:transpose-words.

המילה התאמה וכל הטיפול ב zstyle ההגדרות מיושמות בפועל
לפי הפונקציה התאמת מילים לפי סגנון. זה יכול לשמש כדי ליצור חדש מוגדר על ידי משתמש
ווידג'טים. הפונקציה הקריאה צריכה להגדיר את הפרמטר המקומי קורקונטקסט ל
:zle:יישומון, צור את הפרמטר המקומי מילים_מתואמות ואת השיחה התאמת מילים לפי סגנון
ללא ויכוחים. עם החזרה, מילים_מתואמות יוגדר למערך עם ה
אלמנטים: (1) תחילת השורה (2) המילה לפני הסמן (3) כל מילה שאינה
תווים בין המילה הזו לסמן (4) כל תו שאינו מילה ב-
מיקום הסמן בתוספת כל התווים הנותרים שאינם מילים לפני המילה הבאה,
כולל כל התווים שצוינו על ידי דילוג על תווים סגנון, (5) המילה ב- or
בעקבות הסמן (6) כל התווים שאינם מילים הבאים אחרי המילה (7) את
שאר הקו. כל אחד מהאלמנטים עשוי להיות מחרוזת ריקה; הקריאה
הפונקציה צריכה לבדוק זאת כדי להחליט אם היא יכולה לבצע את תפקידה.

אפשר להעביר אפשרויות עם טיעונים ל התאמת מילים לפי סגנון לעקוף
השימוש בסגנונות. האפשרויות הן:
-w בסגנון מילה
-s דילוג על תווים
-c רמה עולמית
-C מילים-תווים
-r טווח מילות משנה

לדוגמה, התאמת מילים לפי סגנון -w פָּגָז -c 0 ניתן להשתמש כדי לחלץ את הפקודה
טיעון סביב הסמן.

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

העתק-מילה מוקדמת
יישומון זה עובד כמו שילוב של הכנס-מילה אחרונה ו copy-prev-shell-word.
קריאות חוזרות ונשנות של הווידג'ט מאחזרות מילים קודמות בהיסטוריה הרלוונטית
קַו. עם טיעון מספרי N, הכנס את ה Nהמילה מקו ההיסטוריה; N אולי
להיות שלילי לספור מסוף השורה.

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

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

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

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

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

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

לִרְאוֹת -N להרוג-כל-מילה-התאמה מחק-כל-מילה-התאמה

ולאחר מכן מחייב את הווידג'ט להרוג-כל-מילה-התאמה.

למעלה-שורה-או-התחלה-חיפוש, חיפוש למטה או התחלה
ווידג'טים אלה דומים לפונקציות המובנות למעלה-שורה-או-חיפוש ו
down-line-או-חיפוש: אם במאגר מרובה שורות הם נעים למעלה או למטה בתוך
מאגר, אחרת הם מחפשים שורת היסטוריה התואמת את תחילת הזרם
קַו. אולם במקרה זה, הם מחפשים קו התואם את הקו הנוכחי
עד למיקום הסמן הנוכחי, באופן של
היסטוריה-התחלה-חיפוש-אחורה ו -קָדִימָה, במקום המילה הראשונה ב-
קו.

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

bindkey -M vicmd v שורת הפקודה עריכה

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

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

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

לִרְאוֹת -N היסטוריה-התחלה-חיפוש-לאחור-סוף \
היסטוריה-חיפוש-סוף
לִרְאוֹת -N היסטוריה-התחלה-חיפוש-קדימה-סוף \
היסטוריה-חיפוש-סוף
bindkey '\e^P' היסטוריה-התחלה-חיפוש-לאחור-סוף
bindkey '\e^N' היסטוריה-התחלה-חיפוש-קדימה-סוף

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

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

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

לִרְאוֹת -N history-beginning-search-menu-space-end \
תפריט-היסטוריה-התחלה-חיפוש

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

הפקודות ליצירת ווידג'טים הניתנים לאגד דומות לאלו שבדוגמה
מיד מעל:

autoload -U היסטוריה-דפוס-חיפוש
לִרְאוֹת -N היסטוריה-דפוס-חיפוש-לאחור היסטוריה-דפוס-חיפוש
לִרְאוֹת -N היסטוריה-דפוס-חיפוש-קדימה היסטוריה-דפוס-חיפוש

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

bindkey '^X+' להכניס

מילה מצטברת-שלמה
זה מאפשר השלמה מצטברת של מילה. לאחר התחלת פקודה זו, רשימה
ניתן להציג את אפשרויות ההשלמה לאחר כל תו שאתה מקליד, מה שאתה יכול
למחוק עם ^H or ד.א.. לחיצה על חזרה מקבלת את ההשלמה עד כה וחוזרת
לך לעריכה רגילה (כלומר, שורת הפקודה היא לֹא הוצא להורג מיד). אתה
יכול להכות TAB לעשות השלמה רגילה, ^G להפיל בחזרה למדינה כאשר אתה
התחיל, ו ^D לרשימת ההתאמות.

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

bindkey '^שי' מילה מצטברת-שלמה

הוספה-מחוברת-char
פונקציה זו מאפשרת לך לחבר תווים שאינם מופיעים במקלדת
יוכנס לשורת הפקודה. אחרי הפקודה שני מקשים
המתאימים לתווי ASCII (אין הנחיה). לדמויות מודגשות,
שני המקשים הם תו בסיס ואחריו קוד עבור המבטא, בעוד עבור
דמויות מיוחדות אחרות, שתי הדמויות יחד יוצרות זיכרון זיכרון עבור
תו שיש להוסיף. הקודים בני שני התווים הם תת-קבוצה של הקודים שניתנו על ידי
RFC 1345 (ראה למשל http://www.faqs.org/rfcs/rfc1345.html).

הפונקציה עשויה להיות אופציונלית בעקבות עד שני תווים שמחליפים אחד
או את שתי התווים שנקראו מהמקלדת; אם שני התווים מסופקים,
לא נקרא קלט. לדוגמה, הוספה-מחוברת-char a: ניתן להשתמש בווידג'ט
כדי להכניס a עם umlaut לשורת הפקודה. יש לזה את היתרונות על פני השימוש
בעל אופי מילולי שהוא נייד יותר.

לתוצאות הטובות ביותר היה צריך לבנות את zsh עם תמיכה בתווים מרובי-בתים
(מוגדר עם --enable-multibyte); עם זאת, הפונקציה פועלת עבור מוגבלים
מגוון תווים זמין בערכות תווים של בייט בודד כגון ISO-8859-1.

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

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

לִרְאוֹת insert-unicode-char לדרך חלופית להוספת תווי Unicode
באמצעות מספר התווים ההקסדצימליים שלהם.

קבוצת התווים המוטעמים מלאה במידה סבירה עד לתווי Unicode
U+0180, קבוצת התווים המיוחדים פחות. עם זאת, זה מאוד ספורדי מ
הנקודה הזו. הוספת דמויות חדשות היא קלה, עם זאת; לראות את הפונקציה
להגדיר-תווים-לחנים. נא לשלוח תוספות ל [מוגן בדוא"ל].

הקודים של התו השני כשהם משמשים להדגשת התו הראשון הם כדלקמן.
שימו לב שלא כל דמות יכולה לקחת כל מבטא.
! קבר.
' חַד.
> גֵרֵשׁ.
? טילדה. (זה לא ~ שכן RFC 1345 אינו מניח שהתו קיים
על המקלדת.)
- מקרון. (פס אופקי מעל תו הבסיס.)
( Breve. (צורת צלחת רדודה על תו הבסיס.)
. נקודה מעל תו הבסיס, או במקרה של i ללא נקודה, או במקרה של
L ו l נקודה ממורכזת.
: Diaeresis (Umlaut).
c קדילה.
_ קו תחתון, אולם כרגע אין תווים מסומנים בקו תחתון.
/ מלטף את דמות הבסיס.
" חריף כפול (נתמך רק על כמה אותיות).
; אוגונק. (קרס קטן הפונה קדימה בפינה הימנית התחתונה של
אופי.)
< קארון. (ו קטן מעל האות.)
0 מעגל מעל תו הבסיס.
2 חברו מעל דמות הבסיס.
9 קרן מעל דמות הבסיס.

התווים הנפוצים ביותר מהאלפבית הערבי, הקירילי, היווני והעברי
פנויים; עיין ב-RFC 1345 עבור הרצפים המתאימים. בנוסף, סט
קודים של שתי אותיות שאינם ב-RFC 1345 זמינים עבור התווים ברוחב כפול
המתאימים לתווי ASCII מ ! ל ~ (0x21 עד 0x7e) על ידי הקדמת ה-
דמות עם ^, למשל ^A לרוחב כפול A.

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

תווי ASCII
אלה כבר קיימים ברוב המקלדות:
<( סוגר מרובע שמאלי
// נטוי אחורי (סולידוס)
)> סוגר מרובע ימני
(! פלטה שמאלית (סוגר מתולתל)
!! פס אנכי (סמל צינור)
!) סוגר ימין (סוגר מתולתל)
'? טילדה

אותיות מיוחדות
תווים שנמצאים בגרסאות שונות של האלפבית הלטיני:
ss אסט (שארפס S)
D-, d- Eth
TH, th Thorn
kk קרא
'n 'n
NG, ng Ng
OI, oi Oi
yr yr
ED ezh

סמלי מטבע
Ct סנט
Pd לירה שטרלינג (גם לירה ואחרות)
Cu מַטְבֵּעַ
Ye ין
Eu יורו (שים לב לא ב-RFC 1345)

סימני פיסוק
הפניות למרכאות "נכונות" מציינות את הצורה (כמו 9 ולא 6)
במקום השימוש הדקדוקי שלהם. (לדוגמה, מרכאה כפולה נמוכה "נכונה".
משמש לפתיחת ציטוטים בגרמנית.)
!I סימן קריאה הפוך
BB פס אנכי שבור
SE סעיף
Co זכויות יוצרים
-a מחוון סידור נשי ספרדי
<< שמאל גווילמט
-- מקף רך
Rg סימן מסחרי רשום
PI כרית (פיסקה)
-o מחוון סידור זכרי ספרדי
>> נכון גילמה
?I סימן שאלה הפוך
-1 מקף
-N מקף
-M אם מקף
-3 פס אופקי
:3 אליפסיס אנכי
.3 אליפסיס קו אמצע אופקי
!2 קו אנכי כפול
=2 קו נמוך כפול
'6 השאירו ציטוט בודד
'9 ציטוט יחיד נכון
.9 ציטוט נמוך "נכון".
9' ציטוט "נכון" הפוך
"6 מרכאה כפולה שמאלה
"9 ציטוט כפול נכון
:9 "נכון" מרכאה כפולה נמוכה
9" מרכאה כפולה "נכונה" הפוכה
/- פִּגיוֹן
/= פגיון כפול

סמלים מתמטיים
DG תואר
-2, +-, -+
- סימן, סימן +/-, סימן -/+
2S כתב על 2
3S כתב על 3
1S כתב על 1
My מיקרו
.M נקודה אמצעית
14 רובע
12 חצי
34 שלושה רבעים
*X כפל
-: חטיבה
%0 פרמיל
FA, TE, /0
עבור כולם, קיים, סט ריק
dP, DE, NB
נגזרת חלקית, דלתא (עלייה), דל (נאבלה)
(-, -) אלמנט של, מכיל
*P, +Z מוצר, סכום
*-, Ob, Sb
כוכבית, טבעת, כדור
RT, 0(, 00
סימן שורש, פרופורציונלי, אינסוף

סמלים אחרים
cS, cH, cD, cC
חליפות קלפים: אלים, לבבות, יהלומים, אלות
Md, M8, M2, Mb, Mx, MX
סימון מוסיקלי: מפשעת (רבע תו), רקט (תו שמיני), חצי-רבעים
(תווים ט"ז), סימן דגל, סימן טבעי, סימן חד
Fm, Ml נקבה זכר

מבטאים בפני עצמם
'> Circumflex (זהה כמו קרט, ^)
'! Grave (זהה כמו backtick, `)
', קדילה
': דיארסיס (אומלוט)
'm קו עלי
'' חַד

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

bindkey '^Xf' הכנס-קבצים

insert-unicode-char
בעת הביצוע לראשונה, המשתמש מזין קבוצה של ספרות הקסדצימליות. זה
הופסק עם שיחה נוספת אל insert-unicode-char. לאחר מכן הופכים את הספרות
לתוך תו Unicode המתאים. לדוגמה, אם הווידג'ט מחויב ל
^XU, רצף התווים `^XU 4 c ^XU' מוסיף L (Unicode U+004c).

לִרְאוֹת הוספה-מחוברת-char לדרך להוספת תווים באמצעות שתי תווים
ממנון.

צר לאזור [ -p מראש ] [ -P פוסט ]
[ -S ראש הממשלה | -R ראש הממשלה | [ -l lbufvar ] [ -r rbufvar ]]
[ -n ] [ התחלה סוף ]
צר לאזור בלתי נראה
צמצם את החלק הניתן לעריכה של המאגר לאזור שבין הסמן ל-
סימן, שיכול להיות בכל אחד מהסדרים. ייתכן שהאזור אינו ריק.

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

האפשרויות -p תירוץ ו -P פוסטטקסט ניתן להשתמש כדי להחליף את הטקסט לפני ו
לאחר התצוגה למשך הפונקציה; אחד או שניהם עשויים להיות ריק
מחרוזת.

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

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

האפשרות -S ראש הממשלה משמש לצמצום בהתאם לאפשרויות האחרות תוך כדי שמירה
המצב המקורי בפרמטר עם שם ראש הממשלה, בעוד האפשרות -R ראש הממשלה
משמש לשחזור המצב מהפרמטר; שים לב בשני המקרים את שם של
פרמטר נדרש. במקרה השני, אפשרויות וטיעונים אחרים הם
לא רלוונטי. כאשר משתמשים בשיטה זו, לא עריכה רקורסיבית מבוצע; הקריאה
יישומון צריך לקרוא לפונקציה זו עם האפשרות -S, לבצע עריכה משלו ב-
שורת הפקודה או להעביר את השליטה למשתמש באמצעות `לִרְאוֹת עריכה רקורסיבית', אז תקרא לזה
פונקציה עם האפשרות -R. הטיעון ראש הממשלה חייב להיות שם מתאים לא
פרמטר רגיל, מלבד הפרמטרים שמתחילים בקידומת _ntr_ יש לו
שמור לשימוש בתוך צר לאזור. בדרך כלל הפרמטר יהיה מקומי ל
פונקציית ההתקשרות.

האפשרויות -l lbufvar ו -r rbufvar ניתן להשתמש כדי לציין פרמטרים שבהם
הווידג'ט יאחסן את הטקסט שיתקבל מהפעולה. הפרמטר lbufvar
יכיל LBUFFER ו rbufvar יכיל RBUFFER. אף אחד מהשניים הללו
ניתן להשתמש באפשרויות עם -S or -R.

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

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

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

הנה דוגמה טריוויאלית של ווידג'ט המשתמש בתכונה זו.
מקומי היו
צר לאזור -p $'עריכה מוגבל אזור\n' \
-P '' -S היו
לִרְאוֹת עריכה רקורסיבית
צר לאזור -R היו

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

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

הפעם הראשונה חיזוי בשימוש, הוא יוצר מספר פונקציות ווידג'ט נוספות:

למחוק-אחורה- ולחזות
מחליף את ה- אחורה-מחק-char יישומון. אתה לא צריך לחייב את זה
עַצמְךָ.
הכנס-ו-חזוי
מיישמת הקלדה חזויה על ידי החלפת ה הכנסה עצמית יישומון. אתה כן
לא צריך לאגד את זה בעצמך.
חיזוי
מכבה את ההקלדה החזויה.

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

לִרְאוֹת -N חיזוי
לִרְאוֹת -N חיזוי
bindkey '^X^Z' חיזוי
bindkey '^Z' חיזוי

קריאה מ-minibuffer
זה הכי שימושי כאשר נקרא כפונקציה מתוך ווידג'ט, אבל יעבוד
נכון כווידג'ט בפני עצמו. הוא מבקש ערך מתחת לזרם
שורת הפקודה; ניתן להזין ערך באמצעות כל פעולות zle הסטנדרטיות (ו
לא רק הסט המוגבלת הזמינה בעת ביצוע, למשל,
execute-named-cmd). לאחר מכן הערך מוחזר לפונקציה הקוראת ב-
פרמטר תשובה $ ומאגר העריכה שוחזר למצבו הקודם. אם ה
הקריאה בוטלה על ידי הפסקת מקלדת (בדרך כלל ^G), הפונקציה מחזירה מצב 1
ו תשובה $ אינו מוגדר.

אם ארגומנט אחד מסופק לפונקציה הוא נלקח כהנחיה, אחרת `? '
משמש. אם מסופקים שני ארגומנטים, הם ההנחיה והערך ההתחלתי
of $LBUFFER, ואם ניתן ארגומנט שלישי הוא הערך ההתחלתי של $RBUFFER.
זה מספק ערך ברירת מחדל ומיקום סמן התחלה. עם החזרה
כל המאגר הוא הערך של תשובה $.

אפשרות אחת זמינה: `-k NUM' מפרט את זה NUM יש לקרוא תווים
במקום שורה שלמה. עורך השורות אינו מופעל באופן רקורסיבי במקרה זה,
אז בהתאם להגדרות המסוף ייתכן שהקלט לא יהיה גלוי, ורק את
מקשי קלט ממוקמים ב תשובה $, לא כל המאגר. שימו לב שבניגוד ל לקרוא
בנוי NUM חייב להינתן; אין ברירת מחדל.

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

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

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

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

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

אם הווידג'ט מכיל את המחרוזת עריכה, למשל מוגדר כ

לִרְאוֹת -N להחליף-טיעון-עריכה להחליף-טיעון

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

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

אם שם הווידג'ט מכיל את המילה `דפוס', למשל על ידי הגדרת הווידג'ט
באמצעות הפקודה `לִרְאוֹת -N החלפה-דפוס להחליף-מחרוזת', אז ההתאמה היא
מבוצע באמצעות דפוסי zsh. ניתן להשתמש בכל דפוסי הגלובינג המורחבים של zsh
מחרוזת המקור; שים לב שבניגוד ליצירת שם קובץ, הדפוס אינו צריך
כדי להתאים מילה שלמה, וגם למוקדמות גלוב אין השפעה כלשהי. בנוסף
מחרוזת החלפה יכולה להכיל החלפות פרמטרים או פקודות. יתר על כן, א
`&' במחרוזת ההחלפה תוחלף במחרוזת המקור התואמת, ו
ספרה אחורית `\N' יוחלף ב- Nהביטוי בסוגריים
תואם. הטופס `\{N}' ניתן להשתמש כדי להגן על הספרה מפני הספרות הבאות.

אם ה-widget במקום זאת מכיל את המילה `regex' (או 'regexp'), אז ההתאמה היא
מבוצע באמצעות ביטויים רגולריים, תוך כיבוד הגדרת האפשרות
RE_MATCH_PCRE (ראה את תיאור הפונקציה regexp-replace לְהַלָן). ה
מתקני החלפה מיוחדים המתוארים לעיל עבור התאמת דפוסים זמינים.

כברירת מחדל לא יוצעו עבור המקור הקודם או מחרוזת החלפה
עֲרִיכָה. עם זאת, ניתן להפעיל תכונה זו על ידי הגדרת הסגנון עריכה-קודם
בהקשר :zle:יישומון (לדוגמה, :zle:replace-string) כדי נָכוֹן. ב
בנוסף, טיעון מספרי חיובי מאלץ את הערכים הקודמים להיות מוצעים, א
טיעון שלילי או אפס מאלץ אותם לא להיות.

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

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

לדוגמה, החל מהשורה:

הדפסה זֶה קו מכיל אוהד ו רקע

ומזמין החלפה-דפוס עם מחרוזת המקור `f(?)n' וההחלפה
מחרוזת `c\1r' מייצר את השורה הלא שימושית במיוחד:

הדפסה זֶה קו מכיל מכונית ו חוט

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

שלח-בלתי נראה
זה דומה ל-read-from-minibuffer בכך שהוא עשוי להיקרא כפונקציה מ-
יישומון או כווידג'ט משלו, וקורא באופן אינטראקטיבי קלט מה-
מקלדת. עם זאת, הקלט המוקלד נסתר ושורת כוכביות
(`*') מוצג במקום זאת. הערך נשמר בפרמטר $בלתי נראה שאליו א
הפניה מוכנסת למאגר העריכה במיקום הסמן המשוחזר. אם
הקריאה בוטלה על ידי הפסקת מקלדת (בדרך כלל ^G) או בריחה אחרת מ
עריכה כגון דחיפה, $בלתי נראה מוגדר לריק והמאגר המקורי הוא
שוחזר ללא שינוי.

אם ארגומנט אחד מסופק לפונקציה הוא נלקח כהנחיה, אחרת
`ללא הדים טקסט: ' משמש (כמו ב-emacs). אם טיעון שני ושלישי הם
הם משמשים כדי להתחיל ולסיים את ההתייחסות $בלתי נראה כי הוא
מוכנס למאגר. ברירת המחדל היא לפתוח עם ${, לאחר מכן בלתי נראה, ו
סגור עם }, אבל השפעות רבות אחרות אפשריות.

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

לִרְאוֹת -N הכנס-מילה אחרונה חכם-הכנס-מילה אחרונה

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

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

לִרְאוֹת -N הוספה-אחרונה-משימה חכם-הכנס-מילה אחרונה
zstyle :הוספה-אחרונה-משימה להתאים '[[:alpha:]][][[:alnum:]]#=*'
bindkey '\e=' הוספה-אחרונה-משימה

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

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

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

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

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

הסגנון מֵאֵין זמין בהקשר :zle:$WIDGET; זה עשוי להיות מוגדר ל-an
מערך לתת את הפקודה ואפשרויות שישמשו לחקור את הפקודה
נמצאה מילה. ברירת המחדל היא מֵאֵין -c.

zcalc-auto-insert
פונקציה זו שימושית יחד עם zcalc הפונקציה המתוארת בסעיף
פונקציות מתמטיות. זה צריך להיות קשור למפתח המייצג אופרטור בינארי
כגון `+', `-', `*' או '/'. כאשר פועל ב-zcalc, אם המפתח מתרחש ב-
תחילת השורה או מיד לאחר סוגריים פתוחים, הטקסט "אנס " is
מוכנס לפני ייצוג המפתח עצמו. זה מאפשר שימוש קל ב-
תשובה מהחישוב הקודם בשורה הנוכחית. הטקסט שיש להוסיף
לפני הסמל שהוקלד ניתן לשנות על ידי הגדרת המשתנה
ZCALC_AUTO_INSERT_PREFIX.

מכאן, למשל, הקלדת `+12' ואחריו החזרה מוסיפה 12 לתוצאה הקודמת.

כאשר אינו ב-zcalc, המפתח פשוט מכניס את הסמל עצמו.

שירות פונקציות
פונקציות אלו שימושיות בבניית ווידג'טים. הם צריכים להיות טעונים עם `autoload
-U פונקציה' ונקרא כפי שמצוין מווידג'טים המוגדרים על ידי המשתמש.

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

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

לָכֵן תשובה, תשובה ו תשובה2 כולם צריכים להיעשות מקומיים לפונקציה המקיפה.

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

לשנות-נוכחי-טיעון [ expr-using-$ ARG | func ]
פונקציה זו מספקת שיטה פשוטה לאפשר שינוי של ווידג'טים המוגדרים על ידי המשתמש
ארגומנט שורת הפקודה מתחת לסמן (או מיד משמאל ל-
הסמן אם הסמן נמצא בין ארגומנטים).

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

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

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

לשנות-נוכחי-טיעון '${(U)ARG}'

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

לשנות-נוכחי-טיעון '${(qq)${(Q)ARG}}'

הבא מבצע הרחבת ספרייה בארגומנט שורת הפקודה ו
מחליף אותו בנתיב המוחלט:

expand-dir() {
REPLY=${~1}
REPLY=${REPLY:a}
}
לשנות-נוכחי-טיעון expand-dir

בפועל הפונקציה expand-dir כנראה לא יוגדר בתוך הווידג'ט
איפה לשנות-נוכחי-טיעון נקרא.

סגנונות
ניתן לשלוט בהתנהגות של כמה מהווידג'טים לעיל על ידי השימוש ב- zstyle
מַנגָנוֹן. בפרט, ווידג'טים המקיימים אינטראקציה עם מערכת ההשלמה עוברים
ההקשר שלהם לכל השלמות שהם מפעילים.

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

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

zstyle ':סִיוּם:*' משלים \
_לְהַשְׁלִים _נכון _לְהִתְקַרֵב
zstyle ':completion:incremental:*' משלים \
_לְהַשְׁלִים _נכון
zstyle ':completion:predict:*' משלים \
_לְהַשְׁלִים

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

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

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

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

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

רשימה בעת שימוש מילה מצטברת-שלמה widget, הסגנון הזה אומר אם ההתאמה
צריך להיות רשום בכל לחיצה על מקש (אם הם מתאימים למסך). השתמש בהקשר
קידומת `:completion:incremental'.

השמיים הכנס-ו-חזוי widget משתמש בסגנון זה כדי להחליט אם ההשלמה צריכה להיות
מוצג גם אם יש רק השלמה אפשרית אחת. זה נעשה אם הערך של
הסגנון הזה הוא המחרוזת תמיד. במקרה זה ההקשר הוא `:לנבא'(לֹא
`:completion:predict').

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

zstyle :הכנס-מילה אחרונה להתאים '*[[:alpha:]/\\]*'

עם זאת, ייתכן שתרצה לכלול מילים המכילות רווחים:

zstyle :הכנס-מילה אחרונה להתאים '*[[:alpha:][:space:]/\\]*'

או כלול מספרים כל עוד המילה היא באורך שני תווים לפחות:

zstyle :הכנס-מילה אחרונה להתאים '*([[:digit:]]?|[[:alpha:]/\\])*'

הדוגמה שלמעלה גורמת לכלול הפניות מחדש כמו "2>".

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

%c הוחלף בשם הפונקציה השלמה שיצרה את ההתאמות
(ללא הקו התחתון המוביל).

%l כאשר רשימה הסגנון מוגדר, מוחלף ב-`...אם גם רשימת ההתאמות
ארוך כדי להתאים על המסך ועם מחרוזת ריקה אחרת. אם ה רשימה
הסגנון הוא 'שקר' או לא מוגדר, `%l' מוסר תמיד.

%n הוחלף במספר ההתאמות שנוצרו.

%s הוחלף על ידי `-לא להתאים-', `-לא קידומת-', או מחרוזת ריקה אם אין
השלמה התאמת המילה בשורה, אם אין להתאמות משותף
קידומת שונה מהמילה בשורה, או אם יש כזה נפוץ
קידומת, בהתאמה.

%u הוחלף בחלק החד משמעי של כל ההתאמות, אם יש כאלה, ואם זה
שונה מהמילה על הקו.

כמו `הפסקת מפתחות', זה משתמש ב- `: מצטבר' הקשר.

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

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

מִלוּלִי
סגנון בוליאני זה משמש על ידי חיזוי והווידג'טים הקשורים לה בהקשר
`:לנבא'. אם מוגדר לאחד מערכי ה'true' הסטנדרטיים, ווידג'טים אלה מציגים א
הודעה מתחת להנחיה כאשר מצב הניבוי מוחלף. זה הכי שימושי
בשילוב עם לְמַתֵג סִגְנוֹן. ברירת המחדל אינה מציגה את ההודעות הללו.

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

zstyle :העתק-מילה מוקדמת יישומון חכם-הכנס-מילה אחרונה

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

יוצא מן הכלל מטפל


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

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

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

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

{
# "לְנַסוֹת" בלוק
# ... קינון קוד כאן שיחות "לזרוק MyExcept"
} תמיד {
# "תמיד" בלוק
if לתפוס MyExcept; אז
הדפסה "נתפס יוצא מן הכלל MyExcept"
אליף לתפוס ''; אז
הדפסה "נתפס a פָּגָז שגיאה. מתפשט..."
לזרוק ''
fi
# אחר חריגים יש לו לֹא טיפלתי אבל אולי be נתפס נוסף
# up מה היא שיחה ערימה.
}

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

{
# ... קינון קוד כאן זורק an יוצא מן הכלל
} תמיד {
if לתפוס *; אז
מקרה $ נתפס in
(MyExcept)
הדפסה "נתפס my שֶׁלוֹ יוצא מן הכלל"
;;
(*)
הדפסה "נתפס כמה אַחֵר יוצא מן הכלל"
;;
esac
fi
}

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

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

Mime פונקציות


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

zsh-mime-setup [ -fv ] [ -l [ סִיוֹמֶת ... ] ]
zsh-mime-handler [ -l ] הפקודה טענה ...
שתי הפונקציות הללו משתמשות בקבצים ~/.mime.types ו /etc/mime.types, אשר
לשייך סוגים והרחבות, כמו גם ~/.mailcap ו /etc/mailcap קבצים, אשר
לשייך סוגים ולתוכניות המטפלות בהם. אלה מסופקים על רבים
מערכות עם הרחבות דואר מולטימדיה באינטרנט.

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

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

עבור סיומות המוגדרות באותיות קטנות, גם גרסאות רישיות יהיו אוטומטיות
מטופל (למשל PDF מטופל אוטומטית אם מטפלים בסיומת PDF is
מוגדר), אך לא להיפך.

שיחות חוזרות ל zsh-mime-setup אל תעקוף את המיפוי הקיים בין
סיומות וקבצי הפעלה אלא אם כן האפשרות -f נתון. שים לב, עם זאת, כי
זה לא עוקף כינויים קיימים של סיומת שהוקצו למטפלים מלבד
zsh-mime-handler.

יִעוּד zsh-mime-setup עם האופציה -l מפרט את המיפויים הקיימים ללא
משנה אותם. סיומות לרשימה (שעשויות להכיל תווי דפוס שצריכים
מצוטט מפרשנות מיידית בשורת הפקודה) ניתן לתת כ
ארגומנטים נוספים, אחרת כל הסיומות מופיעות.

יִעוּד zsh-mime-setup עם האופציה -v גורם להצגת פלט מילולי במהלך
פעולת ההגדרה.

המערכת מכבדת את mailcap דגלים צריך מסוף ו פלט רבראה
mailcap(4).

הפונקציות משתמשות בסגנונות הבאים, המוגדרים עם ה- zstyle בנוי
פקודה (ראה zshmodules(1)). יש להגדיר אותם לפני zsh-mime-setup רץ.
ההקשרים שבהם נעשה שימוש כולם מתחילים ב :לְחַקוֹת:, עם רכיבים נוספים במקרים מסוימים.
מומלץ כי נגרר * (מצוטט כראוי) לצרף לדפוסי סגנון
למקרה שהמערכת תורחב בעתיד. להלן כמה דוגמאות.

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

כינוי -s gz=zsh-mime-handler

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

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

לְהִתְכַּחֵשׁ לְ- אם הסגנון הבוליאני הזה נכון, מטפלי mailcap התחילו ברקע
יידחה, כלומר לא נתון לשליטה בעבודה בתוך מעטפת האם.
מטפלים כאלה כמעט תמיד מייצרים חלונות משלהם, אז הסבירות היחידה
תופעת לוואי מזיקה של קביעת הסגנון היא שזה הופך להיות קשה יותר להרוג
משרות מתוך המעטפת.

ביצוע כפי שהוא
סגנון זה נותן רשימה של דפוסים שיש להתאים לקבצים שהועברו עבורם
ביצוע עם תוכנית מטפל. אם הקובץ תואם לתבנית, ה-
שורת הפקודה כולה מבוצעת בצורתה הנוכחית, ללא מטפל. זֶה
שימושי עבור קבצים שעשויים להיות להם סיומות אך בכל זאת ניתנים להפעלה
בזכות עצמם. אם הסגנון לא מוגדר, הדפוס *(*) *(/) משמש;
לפיכך קבצי הפעלה מופעלים ישירות ולא מועברים למטפל,
והאופציה AUTO_CD עשוי לשמש כדי לעבור לספריות שקרה עם
יש סיומות MIME.

לבצע-לעולם לא
סגנון זה שימושי בשילוב עם ביצוע כפי שהוא. הוא מוגדר ל-an
מערך תבניות התואמות לנתיבים מלאים לקבצים שאסור שיהיו
מטופל כקובץ הפעלה, גם אם הקובץ שהועבר למטפל MIME תואם
ביצוע כפי שהוא. זה שימושי עבור מערכות קבצים שאינן מטפלות בביצוע
הרשאה או המכילים קובצי הפעלה ממערכת הפעלה אחרת. ל
דוגמה, אם /mnt/windows הוא תושבת Windows, אם כן

zstyle ':לְחַקוֹת:*' לבצע-לעולם לא '/mnt/windows/*'

יבטיח שכל קבצים שנמצאו באזור זה יבוצעו כסוגי MIME
גם אם הם ניתנים להפעלה. כפי שמראה דוגמה זו, שם הקובץ המלא
מותאם לתבנית, ללא קשר לאופן שבו הקובץ הועבר ל-
מטפל. הקובץ נפתר לנתיב מלא באמצעות ה :A מתקן
המתואר בסעיף המשנה משנה ב zshexpn(1); זה אומר ש
קישורים סמליים נפתרים במידת האפשר, כך שמקשרים לקובץ אחר
מערכות מתנהגות בצורה הנכונה.

קובץ נתיב
משמש אם הסגנון מצא-קובץ בנתיב נכון לאותו הקשר. הגדר ל-
מערך ספריות המשמשות לחיפוש הקובץ שיש לטפל בו;
ברירת המחדל היא נתיב הפקודה שניתן על ידי הפרמטר המיוחד נתיב. ה
אפשרות פגז PATH_DIRS מכובד; אם זה מוגדר, הנתיב המתאים
יבוצע חיפוש גם אם שם הקובץ שיש לטפל בו כפי שהוא מופיע בו
שורת הפקודה מכילה '/'. ההקשר המלא הוא :לְחַקוֹת:.סִיוֹמֶת:כמו
מתואר עבור הסגנון מטפל.

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

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

ידית לא קיימת
כברירת מחדל, ארגומנטים שאינם תואמים לקבצים אינם מועברים ל-
מטפל MIME על מנת למנוע ממנו ליירט פקודות שנמצאו ב-
נתיב שבמקרה יש לו סיומות. סגנון זה עשוי להיות מוגדר למערך של
דפוסי גלוב מורחבים לארגומנטים שיועברו למטפל אפילו
אם הם לא קיימים. אם זה לא מוגדר במפורש זה כברירת מחדל
[[:alpha:]]#:/* מה שמאפשר להעביר כתובות URL למטפל MIME אפילו
למרות שהם לא קיימים בפורמט הזה במערכת הקבצים. ההקשר המלא
is :לְחַקוֹת:.סִיוֹמֶת:, כמתואר עבור הסגנון מטפל.

מטפל
מציין מטפל לסיומת; הסיומת ניתנת על ידי ההקשר as
:לְחַקוֹת:.סִיוֹמֶת:, והפורמט של המטפל הוא בדיוק זה ב mailcap.
שים לב במיוחד את `.' והמעי הגס נגרר כדי להבחין בשימוש זה ב-
הֶקשֵׁר. זה עוקף כל מטפל שצוין על ידי mailcap קבצים. אם ה
המטפל דורש מסוף, ה דגלים יש להגדיר את הסגנון כך שיכלול את
מילה צריך מסוף, או אם יש להציג את הפלט דרך ביפר (אבל
לא אם המטפל הוא בעצמו ביפר), הוא צריך לכלול פלט רב.

mailcap
רשימה של קבצים בפורמט של ~/.mailcap ו /etc/mailcap להיקרא
במהלך ההגדרה, החלפת רשימת ברירת המחדל המורכבת משני הקבצים הללו.
ההקשר הוא :לְחַקוֹת:. + ברשימה יוחלף בברירת המחדל
קבצים.

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

קבצים סדר הקבצים (ערכים ב- mailcap סגנון) לקרוא. מוקדם יותר
קבצים עדיפים. (שים לב שזה לא פותר ערכים באותו
קוֹבֶץ.)

עדיפות
דגל העדיפות מהערך של mailcap. העדיפות היא מספר שלם
מ-0 עד 9 כאשר ערך ברירת המחדל הוא 5.

דגלים הבדיקה שניתנה על ידי ה mailcap-prio-flags אופציה משמשת לפתרון
ערכים.

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

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

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

טיפוסי פנטום
רשימה של קבצים בפורמט של ~/.mime.types ו /etc/mime.types להיות
קרא במהלך ההגדרה, תוך החלפת רשימת ברירת המחדל המורכבת מהשניים הללו
קבצים. ההקשר הוא :לְחַקוֹת:. + ברשימה יוחלף ב-
קבצי ברירת מחדל.

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

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

דוגמאות:

zstyle ':לְחַקוֹת:*' mailcap ~/.mailcap /usr/local/etc/mailcap
zstyle ':mime:.txt:' מטפל פחות %s
zstyle ':mime:.txt:' דגלים צריך מסוף

מתי zsh-mime-setup יופעל לאחר מכן, הוא יחפש mailcap רשומות ב
שני קבצים שניתנו. קבצים של סיומת .טקסט יטופל על ידי הפעלת `פחות file.txt'.
הדגל צריך מסוף מוגדר להראות שתוכנית זו חייבת לפעול בצמוד ל-a
מָסוֹף.

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

הפקודה `כינוי -s שלוחה' צריך להראות 'ps=zsh-mime-handler'. אם זה מופיע
משהו אחר, כינוי סיומת אחר כבר הותקן ולא הוחלף.
אם זה לא מראה כלום, לא הותקן מטפל: סביר להניח שזה בגלל שלא
מטפל נמצא ב .mime.types ו mailcap שילוב עבור .אקסט קבצים. ב
במקרה זה, יש להוסיף טיפול מתאים ~/.mime.types ו mailcap.

אם ההרחבה מטופלת על ידי zsh-mime-handler אבל הקובץ לא נפתח
נכון, או שהמטפל שהוגדר לסוג אינו נכון, או הדגלים
הקשורים אליו מתאימים. רץ zsh-mime-setup -l יראה את
מטפל, ואם יש כאלה, הדגלים. א %s במטפל מוחלף ב-
קובץ (מצוטט במידת הצורך). בדוק שתוכנית המטפל מופיעה ברשימה
וניתן להפעיל אותו בדרך המוצגת. בדקו גם שהדגלים צריך מסוף or
פלט רב מוגדרים אם צריך להפעיל את המטפל מתחת למסוף; השני
הדגל משמש אם הפלט צריך להישלח לביפר. דוגמה למתאים
mailcap הכניסה לתוכנית כזו היא:

טקסט/html; /usr/bin/lynx '%s'; צריך מסוף

פועל `zsh-mime-handler -l הפקודה קו' מדפיס את שורת הפקודה שתהיה
מבוצע, מפושט כדי להסיר את ההשפעה של כל הדגלים, ומצוטט כך שה
ניתן להפעיל את הפלט כשורה פקודה מלאה של zsh. זה משמש את ההשלמה
מערכת כדי להחליט כיצד להשלים לאחר טיפול בקובץ על ידי zsh-mime-setup.

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

autoload -U בחר-דפדפן אינטרנט
כינוי -s html=בחר-דפדפן אינטרנט

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

סגנונות שונים זמינים להתאמה אישית של בחירת הדפדפנים:

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

ריצה
השתמש בדפדפן GUI שכבר פועל כאשר מוצגת תצוגת X Window
זמין. הדפדפנים המפורטים ב- דפדפני x הסגנון מנוסים
סדר עד שיימצא אחד; אם כן, הקובץ יוצג ב
הדפדפן הזה, אז ייתכן שהמשתמש יצטרך לבדוק אם הוא הופיע.
אם לא נמצא דפדפן פועל, אחד לא מופעל. דפדפנים אחרים
מניחים ש-Firefox, Opera ו- Konqueror מבינים את
תחביר מוזילה לפתיחת כתובת URL מרחוק.

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

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

אם הסגנון לא מוגדר ברירת המחדל ריצה x tty משמש.

דפדפני x
מערך בסדר יורד של העדפה של דפדפנים לשימוש בעת הפעלה
תחת מערכת X Windows. המערך מורכב משם הפקודה מתחת
איזה להפעיל את הדפדפן. מסתכלים עליהם בהקשר :לְחַקוֹת: (איזה
עשוי להיות מורחב בעתיד, אז מצרפים `*'מומלץ). לדוגמה,

zstyle ':לְחַקוֹת:*' דפדפני x לפעול כובש פיירפוקס

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

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

הפקודה
אם הוא מוגדר, סגנון זה משמש לבחירת הפקודה המשמשת לפתיחת דף עבורו
דפדפן. ההקשר הוא :mime:browser:new:$browser: להתחיל חדש
דפדפן או :mime:browser:running:$browser: כדי לפתוח כתובת אתר בדפדפן
כבר פועל בתצוגה X הנוכחית, שם $דפדפן הוא הערך
תואם ב דפדפני x or tty-דפדפנים סִגְנוֹן. רצף הבריחה %b in
הערך של הסגנון יוחלף על ידי הדפדפן, while %u יוחלף
לפי כתובת האתר. אם הסגנון לא מוגדר, ברירת המחדל עבור כל המופעים החדשים היא
שווה ערך ל %b %u וברירות המחדל לשימוש בדפדפנים פועלים הן
שווה ערך לערכים kfmclient openURL %u עבור Konqueror, פיירפוקס
-כרטיסייה חדשה %u עבור Firefox, לפעול -עמוד חדש %u עבור אופרה, ו %b -מְרוּחָק
"openUrl(%u)" לכל האחרים.

מָתֵימָטִי פונקציות


zcalc [ -ef ] [ ביטוי ... ]
מחשבון חזק למדי המבוסס על מתקן ההערכה האריתמטי של zsh.
התחביר דומה לזה של נוסחאות ברוב שפות התכנות; לראות את
סעיף `הערכה אריתמטית' ב זשמיסק(1) לפרטים.

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

הספרייה המתמטית zsh/mathfunc ייטען אם הוא זמין; לראות את
סעיף 'מודול zsh/mathfunc' ב zshmodules(1). הפונקציות המתמטיות
תואמות לספריות המערכת הגולמית, כך שפונקציות טריגונומטריות מוערכות
שימוש ברדיאנים וכן הלאה.

כל שורה שהוקלדה מוערכת כביטוי. ההנחיה מציגה מספר, אשר
מתאים לפרמטר מיקום שבו התוצאה של החישוב הזה היא
מְאוּחסָן. לדוגמה, תוצאת החישוב בשורה שלפניו ב-`4> '
זמין בתור $4. הערך האחרון שחושב זמין כ ans. פיקוד מלא
עריכת שורה, כולל ההיסטוריה של חישובים קודמים, זמינה; ה
ההיסטוריה נשמרת בקובץ ~/.zcalc_history. כדי לצאת, הזן שורה ריקה או הקלד
`:q' בפני עצמו (`q' מותר עבור תאימות היסטורית).

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

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

הקבועים PI (3.14159...) ו E (2.71828...) מסופקים. פָּרָמֶטֶר
הקצאה אפשרית, אך שימו לב שכל הפרמטרים יוכנסו לגלובל
מרחב שמות.

ניתן לאתחל את בסיס הפלט על ידי העברת האפשרות `-#בסיס', לדוגמה
`zcalc # 16' (ה'#ייתכן שיהיה צורך לצטט, בהתאם לאפשרויות הגלובינג
מַעֲרֶכֶת).

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

אם האפשרות `-f' מוגדר, כל המספרים מטופלים כנקודה צפה, ומכאן עבור
לדוגמה הביטוי `3/4' מוערך ל-0.75 במקום 0. האפשרויות חייבות להופיע
במילים נפרדות.

ההנחיה ניתנת להגדרה באמצעות הפרמטר ZCALCPROMPT, שעובר תקן
הרחבה מהירה. האינדקס של הערך הנוכחי מאוחסן באופן מקומי בראשון
אלמנט המערך psvar, שאליו ניתן להתייחס ב ZCALCPROMPT בתור `%1v'. ה
שורת ברירת המחדל היא `%1v> '.

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

ניתן לציין את דיוק הפלט בתוך zcalc על ידי פקודות מיוחדות מוכרות
ממחשבונים רבים.
:נוֹרמָה פורמט הפלט המוגדר כברירת מחדל. זה מתאים ל-printf %g מפרט.
בדרך כלל זה מציג שש ספרות עשרוניות.

:מדע ספרות
סימון מדעי, המתאים ל-printf %g פורמט פלט עם
דיוק שניתן על ידי ספרות. זה מייצר נקודה קבועה או אקספוננציאלית
סימון בהתאם לפלט הערך.

:לתקן ספרות
סימון נקודה קבועה, המתאים ל-printf %f פורמט פלט עם
דיוק שניתן על ידי ספרות.

:eng ספרות
סימון אקספוננציאלי, המתאים ל-printf %E פורמט פלט עם
דיוק שניתן על ידי ספרות.

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

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

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

:פוּנקצִיָה שם [ גוּף ]
הגדר פונקציה מתמטית או (עם לא גוּף) למחוק את זה. :פוּנקצִיָה אולי
להיות מקוצר ל :func או פשוט :f. ה שם עשוי להכיל את אותו הדבר
תווים כשם פונקציית מעטפת. הפונקציה מוגדרת באמצעות
zmathfuncdef, ראה למטה.

שים לב כי zcalc דואג לכל ציטוט. מכאן למשל:

:f קוביה $1 * $1 * $1

מגדיר פונקציה לקוביית הארגומנט הבלעדי.

[#בסיס]
זו לא פקודה מיוחדת, אלא חלק מתחביר אריתמטי רגיל;
עם זאת, כאשר טופס זה מופיע על שורה בפני עצמה, רדיוס הפלט המוגדר כברירת מחדל
מוגדר בסיס. השתמש, למשל, `[# 16]' כדי להציג פלט הקסדצימלי
לפניו ציון של הבסיס, או `[##16]רק כדי להציג את הגולמי
מספר בבסיס הנתון. הבסיסים עצמם תמיד מצוינים בעשרוניות.
`[#]' משחזר את פורמט הפלט הרגיל. שים לב שהגדרת בסיס פלט
מדכא פלט נקודה צפה; השתמש `[#]כדי לחזור לפעולה רגילה.

עיין בהערות בפונקציה לכמה טיפים נוספים.

zmathfuncdef [ Mathfunc [ גוּף ]]
קצה קדמי נוח ל פונקציות -M.

עם שני ארגומנטים, הגדר פונקציה מתמטית בשם Mathfunc שבו ניתן להשתמש
בכל צורה של הערכה אריתמטית. גוּף הוא ביטוי מתמטי ל
ליישם את הפונקציה. הוא עשוי להכיל הפניות לפרמטרים של מיקום $1, $2,
... להתייחס לפרמטרים מחייבים ו ${1:-defvalue} ... להתייחס לאופציונלי
פרמטרים. שימו לב שיש להקפיד על הטפסים כדי שהפונקציה תעשה זאת
חשב את המספר הנכון של ארגומנטים. היישום מתקיים במעטפת
פונקציה בשם zsh_math_func_Mathfunc; בדרך כלל המשתמש לא יצטרך להתייחס אליו
פונקציית המעטפת ישירות. כל פונקציה קיימת באותו שם היא בשקט
הוחלף.

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

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

משתמש תְצוּרָה פונקציות


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

zsh-newuser-install [ -f ]
הפונקציה מציגה למשתמש אפשרויות שונות להתאמה אישית שלהם
סקריפטים לאתחול. כרגע בלבד ~ / .zshrc מטופל. $ZDOTDIR/.zshrc is
משמש במקום זאת אם הפרמטר ZDOTDIR מוגדר; זה מספק דרך למשתמש לעשות זאת
להגדיר קובץ מבלי לשנות קובץ קיים .zshrc.

כברירת מחדל הפונקציה יוצאת מיד אם היא מוצאת אחד מהקבצים .zshenv,
.zprofile, .zshrc, או .zlogin בספרייה המתאימה. האפשרות -f is
נדרש על מנת לאלץ את המשך הפונקציה. שימו לב שזה עלול לקרות גם אם
.zshrc עצמו אינו קיים.

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

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

כאשר הסקריפט יוצא, ניתנת למשתמש ההזדמנות לשמור את הקובץ החדש או
לֹא; שינויים אינם בלתי הפיכים עד לנקודה זו. עם זאת, התסריט הוא זהיר
להגביל שינויים בקובץ רק לקבוצה המסומנת בקווים `# קווים
מוגדר by zsh-newuser-install'ו'# סוֹף of קווים מוגדר by
zsh-newuser-install'. בנוסף, הגרסה הישנה של .zshrc נשמר בקובץ
עם הסיומת .זני צורף.

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

אחר פונקציות


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

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

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

מסופים מסוימים אינם תומכים בכל שילובי הצבעים והעוצמות.

המערכים האסוציאטיביים הם:

צֶבַע
צבע מפה את כל שמות הצבעים לקודי המספרים השלמים שלהם, וקודי המספרים השלמים ל-
שמות צבעים. שמונת שמות הבסיס ממפים לקודי צבע החזית, כמו כן
שמות עם קידומת `fg-', כגון 'fg-אדום'. שמות עם קידומת `bg-',
כגון `BG-כחול', עיין בקודי הרקע. המיפוי ההפוך מ
קוד לצבע מניב את שם הבסיס עבור קודי החזית וה- bg- טופס עבור
רקעים.

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

fg
fg_bold
fg_no_bold
מפה את שמונת שמות הצבע הבסיסיים לרצפי בריחה מסוף ANSI המוגדרים
מאפייני טקסט הקדמי התואמים. ה fg רצפים משנים את
צבע מבלי לשנות את שמונה תכונות העוצמה.

bg
bg_bold
bg_no_bold
מפה את שמונת שמות הצבע הבסיסיים לרצפי בריחה מסוף ANSI המוגדרים
מאפייני הרקע המתאימים. ה bg רצפים משנים את הצבע
מבלי לשנות את שמונה תכונות העוצמה.

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

fned [ -x NUM ] שם
כמו Zed -f. פונקציה זו אינה מופיעה בהפצת zsh, אך יכולה להיות
נוצר על ידי קישור Zed לשם fned בספרייה כלשהי אצלך fpath.

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

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

לפחות 3.1.6-15 && setopt NO_GLOBAL_RCS
לפחות 3.1.0 && setopt HIST_REDUCE_BLANKS
לפחות 2.6-17 || הדפסה "אתה לא יכול להשתמש לפחות פה."

nslookup [ גדול מ ... ]
פונקציית עטיפה זו עבור nslookup הפקודה דורשת את zsh/zpty מודול (ראה
zshmodules(1)). הוא מתנהג בדיוק כמו התקן nslookup אלא שזה
מספק הנחיות הניתנות להתאמה אישית (כולל הנחיה בצד ימין) והשלמת
פקודות nslookup, שמות מארח וכו' (אם אתה משתמש בהשלמה מבוססת פונקציות
מערכת). סגנונות השלמה עשויים להיות מוגדרים עם קידומת ההקשר
`:completion:nslookup'.

ראה גם זימונית, הפקודה ו rprompt סגנונות למטה.

regexp-replace היה regexp להחליף
השתמש בביטויים רגולריים כדי לבצע חיפוש גלובלי ולהחליף פעולה ב-a
מִשְׁתַנֶה. אם האפשרות RE_MATCH_PCRE לא מוגדר, POSIX מורחב רגיל
נעשה שימוש בביטויים, אחרת ביטויים רגולריים תואמי Perl (זה דורש את
מעטפת שתהיה מקושרת כנגד PCRE סִפְרִיָה).

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

regexp הוא הביטוי הרגולרי שיתאים למחרוזת.

להחליף הוא הטקסט החלופי. זה יכול להכיל פרמטר, פקודה ו
ביטויים אריתמטיים אשר יוחלפו: בפרט, התייחסות ל
$MATCH יוחלף בטקסט המותאם לתבנית.

סטטוס ההחזרה הוא 0 אם בוצעה לפחות התאמה אחת, אחרת 1.

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

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

תחילה מבקשים עזרה על ידי חיפוש קובץ בשם cmd בספרייה ששמה ה-
עזרה פָּרָמֶטֶר. אם לא נמצא קובץ, פונקציית עוזר, כינוי או פקודה
בשם לרוץ-עזרה-cmd is חיפשו. If מצאתי, מה היא עוזר is יצא לפועל עם מה היא שאר of
מה היא נוֹכְחִי הפקודה קו (הכל לאחר מה היא הפקודה שם cmd) as שלה ארגומנטים.
מתי לא זה ולא זה פילה ולא עוזר is מצאתי, מה היא חיצוני הפקודה `איש cmd' is לָרוּץ.

עוזר לדוגמה לפקודה "ssh":

run-help-ssh() {
לחקות -LR ZSH
מקומי -a טוען
# מחק מה היא "-ל שם משתמש" אוֹפְּצִיָה
zparseopts -D -E -a טוען l:
# מחק אַחֵר אפשרויות, עֲזִיבָה: המארח הפקודה
args=(${@:#-*})
if [[ ${#args} -לט 2 ]]; אז
איש ssh
אחר
לרוץ-עזרה $args[2]
fi
}

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

run-help-git
run-help-svk
run-help-svn
פונקציות עוזר עבור סילון, svk, ו svn פקודות.

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

יש להשתמש בפונקציה זו כווידג'ט ZLE:

autoload -U טטריס
לִרְאוֹת -N טטריס
bindkey מפתחות טטריס

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

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

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

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

autoload -U טטריסקורסים
טטריסקורסים

זרגים [ אוֹפְּצִיָה ... -- ] [ קלט ... ] [ -- הפקודה [ גדול מ ... ] ]
לפונקציה זו יש מטרה דומה ל-GNU xargs. במקום לקרוא שורות של
ארגומנטים מהקלט הסטנדרטי, זה לוקח אותם משורת הפקודה. זה
שימושי מכיוון ש-zsh, במיוחד עם אופרטורים רקורסיביים של גלוב, יכול לעתים קרובות לבנות a
שורת פקודה עבור פונקציית מעטפת ארוכה יותר ממה שניתן לקבל על ידי an
פקודה חיצונית.

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

למשל, כדי לקבל ארוך ls רשימה של כל הקבצים הפשוטים בספרייה הנוכחית
או ספריות המשנה שלו:

autoload -U זרגים
זרגים -- **/*(.) -- ls -l

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

במקרה שהמחרוזת `--' הוא או עשוי להיות קלט, ה -e ניתן להשתמש באפשרות
כדי לשנות את סמן סוף הכניסות. שימו לב שזה כן לֹא לשנות את ה
סמן סוף אפשרויות. לדוגמה, כדי להשתמש ב-`..' בתור הסמן:

זרגים -ה.. -- **/*(.) .. ls -l

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

האפשרויות -i, -I, -l, -L, ו -n שונים מעט מהשימוש בהם ב קסארגס.
אין קווי קלט עבור זרגים לספור, אז -l ו -L לספור דרך ה קלט
רשימה, ו -n סופר את מספר הארגומנטים שהועברו לכל ביצוע של הפקודה,
לְרַבּוֹת כל גדול מ רשימה. כמו כן, בכל עת -i or -I משמש, כל אחד קלט מעובד
בנפרד כאילו על ידי `-L 1'.

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

Zed [ -f [ -x NUM ]] שם
Zed -b פונקציה זו משתמשת בעורך ZLE כדי לערוך קובץ או פונקציה.

רק אחד שם טיעון מותר. אם ה -f ניתנת אפשרות, השם נלקח אל
להיות של פונקציה; אם הפונקציה מסומנת לטעינה אוטומטית, Zed מחפש
זה ב fpath ומטעין אותו. שים לב שפונקציות שנערכו בדרך זו מותקנות
לתוך המעטפת הנוכחית, אבל לֹא נכתב בחזרה לקובץ הטעינה האוטומטית. במקרה הזה
מה היא -x option מציינת שכרטיסיות מובילות מכניסות את הפונקציה לפי
יש להמיר את התחביר למספר הרווחים הנתון; `-x 2' עקבי
עם פריסת הפונקציות המופצות עם המעטפת.

ללא -f, שם הוא שם הנתיב של הקובץ לעריכה, שאינו צריך להתקיים; זה
נוצר בכתיבה, במידת הצורך.

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

אם זה יוצר את מפת המקשים, Zed קושר מחדש את מקש החזרה כדי להוסיף מעבר שורה ו
`^X^Wכדי לקבל את העריכה ב- Zed מפת מפתח, ומקשרת `ZZכדי לקבל את העריכה ב
מה היא zed-vicmd מפת מפתח.

ניתן להתקין את ה-bindings לבד על ידי הפעלת `Zed -b'. זה מתאים ל
הכנסת קובץ הפעלה. שים לב שאם הפעלה חוזרת, זה ידרוס את הקיים
Zed ו zed-vicmd מפות מפתח.

השלמה זמינה, וניתן להגדיר סגנונות עם קידומת ההקשר
`:completion:zed'.

יישומון zle zed-set-file-name זמין. זה יכול להיקרא בשם מ
בתוך zed באמצעות `\לְשֶׁעָבַר zed-set-file-name' (שים לב, עם זאת, בגלל זד's
rebindings תצטרך להקליד ^j בסוף במקום מקש החזרה), או יכול
להיות קשור למפתח בכל אחד מה- Zed or zed-vicmd מפות מקשים לאחר `Zed -b' היה
לָרוּץ. כאשר הווידג'ט נקרא, הוא מבקש שם חדש עבור הקובץ
עָרוּך. כאשר zed יוצא הקובץ ייכתב תחת השם הזה והמקור
הקובץ יישאר לבד. ל-widget אין השפעה עם `Zed -f'.

בעוד zed-set-file-name פועל, zed משתמש במפת המקשים zed-normal-keymap, שהוא
מקושר ממפת המפתח הראשית שהייתה בתוקף בזמן ש-zed אתחל את הכריכות שלה.
(זה כדי לגרום למקש החזרה לפעול כרגיל.) התוצאה היא שאם הראשי
מפת המקשים שונתה, הווידג'ט לא ישים לב. זה לא דאגה עבור רובם
משתמשים.

zcp [ -finqQvwW ] srcpat dest
zln [ -finqQsvwW ] srcpat dest
כמו zmv -C ו zmv -L, בהתאמה. פונקציות אלו אינן מופיעות ב-zsh
הפצה, אך ניתן ליצור על ידי קישור zmv לשמות zcp ו zln בחלק
הספרייה שלך fpath.

zkbd ראה 'הגדרת מקלדת' למעלה.

zmv [ -finqQsvwW ] [ -C | -L | -M | -{p|P} התוכנית ] [ -o optstring ]
srcpat dest
העבר (בדרך כלל, שנה שם) קבצים התואמים לתבנית srcpat לקבצים המתאימים
בעל שמות של הטופס שניתן על ידי dest, שם srcpat מכיל סוגריים
דפוסים מסביב אשר יוחלפו בתורם על ידי $1, $2, ... ב dest. פורום
דוגמא,

zmv '(*).lis' '$1.txt'

משנה שם `foo.lis'אל'foo.txt', `שלי.ישנות'אל'שלי.הטקסט.הישן', וכך
על.

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

בנוסף להחלפת דפוס, המשתנה $f ניתן להתייחס ב-
טיעון שני (החלפה). זה מאפשר להשתמש בהחלפת משתנה
לשנות את הטיעון; ראה דוגמאות למטה.

אפשרויות:

-f כפה החלפה של קבצי יעד. לא מועבר כרגע ל-
mv/cp/ln פקודה עקב גחמות של יישומים (אבל אתה יכול להשתמש -שֶׁל ל
לעשות את זה).
-i אינטראקטיבי: הצג כל שורה לביצוע ושאל את המשתמש אם לעשות זאת
בצע את זה. `Y' או 'y' יבצע את זה, כל דבר אחר ידלג עליו. הערה
שאתה רק צריך להקליד תו אחד.
-n אין ביצוע: הדפס מה יקרה, אבל אל תעשה את זה.
-q כבה את מוקדמות הגלוב החשוף: כעת ההנחה היא כברירת מחדל, אז אין לזה
השפעה.
-Q כפה על מוקדמות גלוב חשוף. אל תפעיל את זה אלא אם כן אתה באמת
שימוש במוקדי גלוב בתבנית.
-s סמלי, הועבר ל ln; עובד רק עם -L.
-v מילולית: הדפס כל פקודה תוך כדי ביצועה.
-w בחר חלקי תווים כלליים מהתבנית, כמתואר לעיל, ובמרומז
הוסף סוגריים להתייחסות אליהם.
-W בדיוק כמו -w, עם תוספת של הפיכת תווים כלליים להחלפה
דפוס לרצף ${1} .. ${N} הפניות.
-C
-L
-M להכריח cp, ln or mv, בהתאמה, ללא קשר לשם הפונקציה.
-p התוכנית
שִׂיחָה התוכנית במקום cp, ln or mv. לא משנה מה זה עושה, זה צריך לפחות
להבין את הטופס `התוכנית -- שם ישן שם חדש' איפה שם ישן ו שם חדש
הם שמות קבצים שנוצרו על ידי zmv. התוכנית יתפצל למילים, אז אולי
להיות למשל שם של כלי ארכיון בתוספת פקודה העתקה או שינוי שם.
-P התוכנית
As -p התוכניתחוץ מזה התוכנית אינו מקבל הודעה הבאה -- ל
ציין את סוף האפשרויות. במקרה זה שמות קבצים חייבים להיות כבר ב-a
טופס שפוי עבור התוכנית המדוברת.
-o optstring
השמיים optstring מפוצל למילים ומועבר מילה במילה ל cp, ln or
mv הפקודה שנקראה לבצע את העבודה. זה כנראה צריך להתחיל עם `-'.

דוגמאות נוספות:

zmv -v '(* *)' '${1// /_}'

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

zmv -v '* *' '${f// /_}'

זה עושה בדיוק את אותו הדבר על ידי הפניה לשם הקובץ המאוחסן בו $f.

לדוגמאות מלאות יותר ופרטי יישום אחרים, עיין ב- zmv מָקוֹר
קובץ, הממוקם בדרך כלל באחת מהספריות הנקובות בשם שלך fpath, או ב
פונקציות/שונות/zmv בהתפלגות zsh.

zrecompile
ראה 'הידור מחדש של פונקציות' למעלה.

zstyle+ הקשר סגנון ערך [ + תת הקשר סגנון ערך ... ]
זה הופך את הגדרת הסגנונות לפשוטה יותר על ידי שימוש ב-single `+' כאסימון מיוחד
המאפשר לך להוסיף שם הקשר לשם ההקשר שנעשה בו שימוש קודם. כמו
זֶה:

zstyle+ ':פו בר' styleXNXX value1 \
+':baz' styleXNXX value2 \
+':frob' styleXNXX value3

זה מגדיר styleXNXX עם value1 עבור ההקשר :פו בר כרגיל, אבל זה גם
מגדיר styleXNXX עם value2 עבור ההקשר :foo:bar:baz ו styleXNXX עם value3 ל
:foo:bar:frob. כל תת הקשר עשויה להיות המחרוזת הריקה לשימוש חוזר בהקשר הראשון
ללא שינוי.

סגנונות
הכנס את הלשונית
השמיים Zed פונקציה סטים סגנון זה בהקשר `:completion:zed:*' לכבות
השלמה מתי TAB מוקלדת בתחילת שורה. אתה יכול לעקוף את זה על ידי
להגדיר ערך משלך להקשר ולסגנון זה.

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

הפקודה
rprompt
השמיים nslookup function מחפשת את הסגנון הזה בהקשר `:nslookup' כדי להגדיר את
ההנחיה וההנחיה בצד ימין, בהתאמה. ההרחבות הרגילות עבור PS1
ו RPS1 ניתן להשתמש בפרמטרים (ראה הרחבה של רצפי הנחיות ב זשמיסק(1)).

השתמש ב-zshcontrib באופן מקוון באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

  • 1
    חינם מהדר פסקל
    חינם מהדר פסקל
    מהדר פסקל 32/64/16 סיביות עבור
    Win32/64/CE, Linux, Mac OS X/iOS,
    אנדרואיד, FreeBSD, OS/2, Game Boy
    Advance, Nintendo NDS ו-DOS;
    תואם סמנטי עם...
    הורד בחינם את מהדר פסקל
  • 2
    מידע על Canon EOS DIGITAL
    מידע על Canon EOS DIGITAL
    לקנון אין ספירת תריסים
    כלול במידע EXIF ​​של an
    קובץ תמונה, בניגוד ל-Nikon ו
    פנטקס. אין קנון רשמי מבוסס
    יישום ...
    הורד מידע על Canon EOS DIGITAL
  • 3
    rEFind
    rEFind
    rEFInd הוא מזלג של אתחול rEFit
    מנהל. כמו rEFit, rEFind יכול
    זיהוי אוטומטי של אתחול ה-EFI המותקן שלך
    מעמיסים והוא מציג GUI יפה
    תפריט של אפשרות אתחול...
    הורד את rEFInd
  • 4
    ExpressLuke GSI
    ExpressLuke GSI
    דף ההורדה הזה של SourceForge היה אמור
    תן למשתמשים להוריד את המקור שלי בנוי
    GSIs, המבוססים על נהדר של Phhusson
    עֲבוֹדָה. אני בונה גם Android Pie וגם
    אנדרואיד 1...
    הורד את ExpressLuke GSI
  • 5
    גלגל מוזיקה
    גלגל מוזיקה
    Music Caster הוא נגן מוזיקה מגש
    שמאפשר לך להטיל את המוזיקה המקומית שלך ל-a
    מכשיר Google Cast. בריצה הראשונה,
    תצטרך ללחוץ על החץ שלך
    טאס...
    הורד את Music Caster
  • 6
    PyQt
    PyQt
    PyQt הוא ה-Python bindings עבור
    ה-Qt חוצה פלטפורמות של Digia
    מסגרת פיתוח אפליקציות. זה
    תומך ב-Python v2 ו-v3 ו-Qt v4 ו
    Qt v5. PyQt מועיל...
    הורד את PyQt
  • עוד »

פקודות לינוקס

Ad