מדריך גרוק CLI בעברית

תיעוד 27

קיצורי מקלדת

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

#מצבי קלט

ההגדרה [keys] vim שולטת באופן הניווט ב-scrollback, ועם all באופן העריכה של ההנחיה:

  • Off (ברירת מחדל): מקשי החצים לניווט, Shift+Arrow לניווט בין תורות, ו-Space למיקוד ההנחיה. כל תו אחר שאתה מקליד ב-scrollback ממקד את ההנחיה ומגיע אליה כאילו הקלדת אותו שם, למעט ?, שפותח את לוח הפקודות. בזמן שכרטיס ממתין לתשובה, Space חוזר אליו, ? עדיין פותח את לוח הפקודות, ותווים אחרים שהוקלדו מתעלמים.
  • Nav (בהפעלה ידנית): j/k לניווט, H/L לניווט בתור הנבחר, J/K לקפיצות לתור שבראש אזור התצוגה (כמו חצי ציר הזמן), h/l לקיפול, e/E להרחבה/כיווץ, ו-i/Tab/Space למיקוד ההנחיה.
  • All (ניסיוני, רק ב-config.toml): Nav, ועוד עריכת vim בהנחיית הסוכן. כל טיוטה מתחילה במצב Insert, שבו המקשים מקלידים כרגיל, ו-Esc נכנס למצב Normal, שבו המקשים הם פקודות vim: h j k l, w b e (וגם W B E), 0 ^ $, gg G, ספירות, d c y עם תנועה (dd, cw, y$), x X D C s S Y, p P, u, ו-i a I A o O בחזרה ל-Insert. שורת המידע של ההנחיה מציגה NORMAL או INSERT. הסמן הוא בלוק במצב Normal ופס במצב Insert. /settings ו-/vim-mode מציעים רק off ו-nav, כך שמעבר שם מכבה את vim של ההנחיה עד שתגדיר all שוב.

כדי להפעיל ניווט vim, הגדר vim = "nav" תחת [keys] ב-~/.grok/config.toml, או החלף אותו בזמן ריצה עם /vim-mode. ראה הגדרות לפרטים.

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

נדרש מצב vim: עיגונים של אות בודדת ושל Shift+letter בהקשר Scrollback (j/k, h/l, g/G, L/H, y/Y, o/O, r, x, e/E, והחלופה i של מצב insert) דורשים [keys] vim = "nav" ב-~/.grok/config.toml (או /vim-mode להחלפה). מקשי החצים, Tab, Esc, Space, PageUp/Down, וכל קיצור Ctrl+letter עובדים בשני המצבים.

#ניווט (מיקוד ב-Scrollback)

מעבר בין רשומות השיחה בחלונית ה-scrollback.

מקשמקש חלופיפעולה
jDownבחירת הרשומה הבאה
kUpבחירת הרשומה הקודמת
⇧LShift+Rightקפיצה לתור הבא (הנחיית משתמש)
⇧HShift+Leftקפיצה לתור הקודם (הנחיית משתמש)
⇧Jקפיצה לתור הבא בראש אזור התצוגה
⇧Kקפיצה לתור הקודם בראש אזור התצוגה
gמעבר לראש ה-scrollback
⇧Gמעבר לתחתית ה-scrollback
Ctrl+Kגלילה שורה אחת למעלה (בלי לשנות את הבחירה)
Ctrl+Jגלילה שורה אחת למטה (בלי לשנות את הבחירה)
PageUpגלילה עמוד אחד למעלה (הבחירה עוברת לראש אזור התצוגה)
PageDownגלילה עמוד אחד למטה (הבחירה עוברת לתחתית אזור התצוגה)
Ctrl+Uגלילה חצי עמוד למעלה
Ctrl+D (Shift+D ב-VSCode)גלילה חצי עמוד למטה

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

#תצוגה (מיקוד ב-Scrollback)

שליטה באופן התצוגה של רשומות ב-scrollback.

מקשמקש חלופיפעולה
hLeftכיווץ הרשומה הנבחרת
lRightהרחבת הרשומה הנבחרת
eהחלפת קיפול ברשומה הנבחרת
⇧Eהרחבת הכל / כיווץ כל הרשומות
Ctrl+Eהרחבה/כיווץ של כל בלוקי החשיבה
rהחלפת markdown גולמי ברשומה הנבחרת

הגדרת respect_manual_folds = true תחת [scrollback.scroll] ב-pager.toml (בהפעלה ידנית, כבוי כברירת מחדל. ראה הגדרות) הופכת בלוק שקופל ביד לנעוץ: עדכוני הזרמה ואירועי סיום (לדוגמה סיום של בלוק חשיבה) משאירים אותו כמו שהוא במקום לאפס אותו, והרחבת בלוק בזמן שגלילה אוטומטית עוקבת אחרי הזנב מפסיקה את המעקב כדי שאפשר יהיה לקרוא. חידוש המעקב נעשה עם ⇧G, j ברשומה האחרונה, גלילה מעבר לתחתית, או שליחת הנחיה חדשה. ⇧E מנקה את כל הנעיצות, ו-Ctrl+E מנקה נעיצות בבלוקי חשיבה.

#תוכן בלוק

מקשפעולה
yהעתקת תוכן הבלוק ללוח
⇧Yהעתקת מטא-נתונים של הבלוק (לדוגמה, פקודת המעטפת) ללוח. בצופה במסך מלא של תשובה או מחשבה, בלוק הקוד שמתחת לסמן
Enterפתיחת תוכן הבלוק בצופה במסך מלא
Ctrl+Fפתיחת תוכן הבלוק בצופה במסך מלא (עיגון חלופי)
Ctrl+Lציטוט הבלוק הנבחר לתוך ההנחיה כבלוק ציטוט > ומיקוד ההנחיה. כשטקסט עדיין מסומן אחרי בחירת עכבר, מצטט רק את הטקסט הזה. כשאין מה לצטט, או בזמן שכרטיס או אישור תוכנית ממתינים לך, הוא מצייר מחדש את המסך. הכותרת התחתונה מציגה אותו כ-add to chat: לפני רמזי הבחירה כשטקסט מסומן, ואחרת אחרי רמזי הקיפול והפתיחה של בלוק נבחר

#מיקוד

מעבר בין שדה ההנחיה לחלונית ה-scrollback.

מקשמקש חלופיהקשרפעולה
TabSpace (וגם i במצב vim)scrollback ממוקדמיקוד שדה ההנחיה
Tabההנחיה ממוקדת, מוצגת הצעת הנחיה, מקשי vim כבויים (או מצב מינימלי)קבלת ההצעה
→Ctrl+→ההנחיה ממוקדת, מוצגת הצעת הנחיהקבלת כל ההצעה
Tabההנחיה ממוקדת, אחרתמיקוד ה-scrollback (מקשי vim פעילים או כבויים)
TabShift+Tab (אחורה)כרטיס חוסם ממוקד (שאלה, בקשת הרשאה, לוח ביטול תור)מעבר בין שורות הכרטיס, עם גלישה בקצוות. המיקוד נשאר בכרטיס
TabSpace (וגם i במצב vim)scrollback ממוקד עם כרטיס חונההחזרת המקלדת לכרטיס (רמז המיקוד בסרגל מציין אותו)
Enterההנחיה ממוקדתשליחת ההנחיה הנוכחית (בכל אחד ממצבי vim)

Esc אינו מקש מיקוד. הוא עוקב אחרי סמנטיקת הניקוי / החזרה למטה, והוא אף פעם לא מבטל תור רץ (Ctrl+C כן). תחת off ו-nav, שום דבר ב-Esc לא תלוי ב-[keys] vim. all מוסיף את מצבי ה-vim של ההנחיה (ראה Escape). שכבות על, חלונות, תפריטים נפתחים של לוכסן/קובץ, הצעת הנחיה גלויה, קול, חיפוש ובחירה עדיין לוקחים את Esc קודם.

#כרטיסים חוסמים

ארבעה משטחים חוסמים את הסוכן עד לתשובתך ומשתלטים על המקלדת כל עוד הם פתוחים: כרטיס השאלה (ask_user_question), כרטיס ה-elicitation של MCP (x.ai/mcp/elicit), בקשת ההרשאה, ולוח ביטול התור. כשיותר מאחד פתוח, בקשת ההרשאה מקבלת את המקלדת ראשונה, אחר כך לוח ביטול התור, אחר כך השאלה, ואחר כך elicitation, וסרגל הקיצורים תמיד מציג את המקשים של זה שמקבל אותם.

הם חולקים חוזה אחד:

  • Tab / Shift+Tab עוברים בין שורות הכרטיס וגולשים בשני הקצוות. הם אף פעם לא מוציאים את המיקוד מהכרטיס, כך שהסמן תמיד נמצא במקום שאפשר לראות.
  • Esc יוצא אחורה, שלב אחד בכל פעם: הוא מנקה קודם כל מה שהכרטיס החזיק כממתין, ורק כשלא נשאר מה לנקות הוא עוזב. לאן הוא עוזב הוא הדבר היחיד ששונה בין כרטיס לכרטיס: כרטיס השאלה ובקשת ההרשאה מחנים את המקלדת ב-scrollback כדי שאפשר יהיה לגלול למעלה ולקרוא את ההקשר שמאחוריהם (הכרטיס נשאר על המסך), בעוד ש-"keep running" של לוח ביטול התור סוגר את הלוח ומשאיר את התור (ואת כל תת-הסוכנים) רצים. Enter או 1-4 עדיין בוחרים בחירת ביטול ותת-סוכן.
  • כשהמקלדת חונה, סרגל הקיצורים מציג את המקשים של ה-scrollback עצמו, ורמז המיקוד שלו מציין את הכרטיס ולא את ההנחיה: Tab/Space: question. הרמז הזה נעוץ, כך שסרגל צר אף פעם לא יכול לקצץ את דרך החזרה היחידה.
  • בקשת הרשאה גם ממתינה בזמן שלחלונית המשימות או ל-dock יש את המקלדת, כך שאפשר לעצור ריצה ברקע שהסוכנים שלה ממשיכים לשאול עם x על השורה שלה. היא ממתינה אם היא בחזית כשהחלונית מקבלת את המקלדת, או אם היא נפתחת בזמן שלחלונית עצמה יש את המקשים. שאלה, טופס MCP, לוח ביטול התור או אישור התוכנית שמחזיקים שם את המקלדת שומרים אותה, כמו בכל מקום אחר, ובקשת הרשאה שנפתחת לפני אחד מהם לוקחת את המקלדת.
  • אחרי שהחלונית החנתה בקשת הרשאה, הכרטיסים בחזית ממשיכים להמתין עד שהמקלדת עוזבת את החלונית: הכרטיס שמאחורי הבקשה אחרי שהיא נסגרת, ושאלה, טופס MCP, אישור תוכנית או בקשת הרשאה שנפתחים אחר כך. אישור תוכנית שממתין שם לא פותח את תצוגת התוכנית מעצמו, גם אחרי שהמקלדת עוזבת את החלונית. באישור, Tab עובר להנחיה שלו, שם a מקליד, ו-Tab שני פותח את התוכנית. עד שראית את התוכנית, a על האישור פותח אותה במקום לאשר, ו-Enter על הערות שכתבת פותח אותה במקום לשלוח אותן. לחיצה על שורת הסטטוס שלו גם פותחת אותו. החריג היחיד הוא לוח ביטול התור שאתה פותח עם Ctrl+C: כשהוא נפתח בחזית יש לו את המקלדת עד שהוא נסגר, ואז הכרטיסים מאחוריו ממתינים שוב. אישור תוכנית שמגיע בזמן שהלוח פתוח ממתין מאחוריו. בקשת הרשאה שנפתחת לפני הלוח הפתוח לוקחת את המקלדת ושומרת אותה עד שתענה לה (ולכל בקשות הרשאה שממתינות בתור מאחוריה), גם אם הלוח נסגר. אחר כך הכרטיסים מאחור ממתינים שוב. בזמן שבקשת הרשאה או אישור תוכנית עדיין ממתינים, הלוח נפתח אבל גם ממתין והחלונית שומרת את המקלדת. בקשת הרשאה ממתינה נשארת מצוירת לפניו. ענה לה קודם כדי להגיע ללוח, או לחץ Ctrl+C שוב כדי לעצור את התור ואת תת-הסוכנים שלו.
  • מה-scrollback, Ctrl+G מעביר את המקלדת לחלונית המשימות. כשה-dock מופעל, Ctrl+G רק מציג או מסתיר את ה-dock, אז לחץ על ה-dock. הסרגל של החלונית נועץ את דרך החזרה: Tab חוזר לכרטיס, או לאישור תוכנית ממתין (plan approval). Esc עובר ל-scrollback: ה-dock נשאר על המסך, אבל חלונית המשימות נסגרת, כך שהשורות שלה נעלמות עד ש-Ctrl+G פותח אותה שוב.
  • בתוך שכבת הסשן של לוח הבקרה יש עוד שלב אחד: אחרי שהמקלדת חונה, ה-Esc הבא חוזר ללוח הבקרה, ומשאיר את הכרטיס ממתין, והסרגל מציג Esc/Ctrl+\ עבורו. (Ctrl+\ עדיין יוצא מכל מצב.)

#כרטיס elicitation של MCP (x.ai/mcp/elicit)

מוצג כששרת MCP מבקש קלט משתמש (שדות טופס או הסכמה ל-URL). הכותרת תמיד כוללת את שם שרת ה-MCP.

מקשפעולה
↑ / ↓, j / k, Tabמעבר בין שדות / פעולות
Space / Enter על שדהעריכת טקסט, או החלפת boolean / enum
← / → על פעולותAccept מול Decline
Enter על Acceptשליחה (הטופס עובר אימות קודם. URL פותח את הדפדפן)
d / Declineדחיית הבקשה
Escצעד אחורה: יציאה מעריכת טקסט קודם, ואז חניית המיקוד ב-scrollback (Tab מחזיר). רק בזמן המתנה ל-URL שהתקבל הוא סוגר את הכרטיס
Ctrl+Cביטול הבקשה
oפתיחה מחדש של ה-URL בזמן המתנה להשלמה

#כרטיס שאלה (ask_user_question)

מקשפעולה
↑ / ↓, j / kמעבר בין תשובות (נעצר בקצוות)
Tab / Shift+Tabמעבר בין תשובות השאלה הזו בלולאה, מהתשובה האחרונה בחזרה לראשונה. הוא אף פעם לא מעביר אותך לשאלה אחרת
← / →, h / l, [ / ]שאלה קודמת / הבאה
1-9, a-fבחירה ישירה של התשובה הזו. בבחירה מרובה, החלפת תיבת הסימון והשארת הכרטיס פתוח
zקפיצה לשורת הטקסט החופשי והתחלת הקלדה
Spaceהחלפת התשובה הממוקדת (בחירה מרובה), או התחלת הקלדה בשורת הטקסט החופשי
Enterבחירה והתקדמות, שליחה בשאלה האחרונה, או עריכת שורת הטקסט החופשי. בחירה מרובה עם בחירות מתקדמת או נשלחת לפי מה שהוחלף, בלי להוסיף את התשובה הממוקדת
Escביטול בחירת התשובה של השאלה הזו. כשאין בחירה, חניית המיקוד ב-scrollback (Tab מחזיר). בתוך שכבת הסשן של לוח הבקרה, ה-Esc הבא חוזר ללוח הבקרה. סרגל הקיצורים מציין איזה שלב פעיל
yהעתקת התשובה הממוקדת
Shift+Xסגירת השאלה (הסוכן ממשיך בלי תשובה)
Ctrl+Fהצגת הכרטיס במסך מלא

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

בזמן הקלדת תשובת טקסט חופשי, Enter שולח ו-Esc חוזר לשורות התשובות. כל מקש אחר הולך לשדה הטקסט.

#טופס /feedback

מקשפעולה
Ctrl+Tab / Ctrl+Shift+Tabמעבר בין הלשוניות Write ו-Drafts
Escסגירת הטופס (שורת תווית ממוקדת או אישור פתוח נסגרים קודם)

לשונית Write:

מקשפעולה
Enterשליחת הדוח
Shift+Tabפתיחת לשונית Drafts. השתמש בזה במקום שבו Ctrl+Tab מגיע כ-Tab רגיל, כמו ב-tmux. שאלת ה-trace מתעלמת ממנו. שם השתמש ב-Ctrl+Tab
Tabמיקוד שורות התוויות מעל תיבת הדוח (שורת Title של טיוטה שנטענה באה ראשונה. ↑ / ↓ עוברים בין השורות). Tab נוסף חוזר לתיבת הדוח
← / →בחירת ערך בשורת type/task/failure ממוקדת

שורת Title של טיוטה שנטענה עורכת את הכותרת שאיתה הדוח נשלח: הקלד או הדבק שם, ו-← / →, Home / End, Backspace ו-Delete עובדים כמו בשדה טקסט. Enter, Tab, Shift+Tab או Esc חוזרים לתיבת הדוח. כותרת ריקה נקראת (first line of the report), ושולחת את השורה הראשונה שאינה ריקה בדוח, חתוכה ל-80 תווים, ככותרת.

לשונית Drafts:

מקשפעולה
↑ / ↓, j / kבחירת טיוטה שמורה
g / G, Home / Endבחירת הטיוטה הראשונה או האחרונה
Enter, או לחיצה על הטיוטהטעינת הטיוטה הנבחרת ל-Write
Tab / Shift+Tabחזרה ללשונית Write, מהרשימה או משדה החיפוש
dמחיקת הטיוטה הנבחרת (אישור עם y)
/חיפוש בטיוטות

כשאפשר להציע העלאת trace, Enter על הדוח מציג קודם שאלת העלאה (↑/↓ בוחרים, Enter שולח עם הבחירה שלך, Esc מדלג על ההעלאה ועדיין שולח את הדוח).

#בקשת הרשאה

בקשת האישור הראשונה אחרי ש-Grok עולה מדגישה את "allow once", אלא אם [ui] default_selected_permission בוחר שורה אחרת (ראה הגדרות).

מקשפעולה
↑ / ↓, j / kמעבר בין אפשרויות (נעצר בקצוות)
Tab / Shift+Tabמעבר בין האפשרויות בלולאה
1-9בחירה ישירה של האפשרות הזו
Enterבחירת האפשרות הממוקדת
← / →הרחבה / צמצום של ההיקף שתשובת "always" תזכור
eעריכה ידנית של תבנית always-allow (בקשות bash)
Ctrl+Fהרחבה / כיווץ של הארגומנטים המלאים או הפקודה, ושל ההסבר של Auto-review
Ctrl+Oהפעלת מצב always-approve (לא ב-Apple Terminal, שם Ctrl+O הוא מקש השליחה המיידית)
Escחניית המיקוד ב-scrollback (Tab מחזיר). הוא אף פעם לא עונה לבקשה ולא סוגר אותה
Ctrl+Cביטול הבקשה

הקלדה בשורת "No" מתחילה הודעה חזרה לסוכן. Enter שולח אותה ו-Esc חוזר לאפשרויות.

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

#לוח ביטול תור

מקשפעולה
↑ / ↓, j / k, Tab / Shift+Tabמעבר בין הבחירות
1-4, Enterאישור הבחירה הזו
Escהשארת הכל רץ. זה פותר את הלוח, כך שהוא אף פעם לא מבוי סתום ואף פעם לא צריך לחנות

#Escape

מצבמחווההשפעה
[keys] vim = "all", ההנחיה במצב InsertEscכניסה למצב Normal. שום דבר אחר: בלי ניקוי, בלי rewind או רמז באמצע תור.
[keys] vim = "all", מצב Normal, הנחיה לא ריקהEscפעולה ריקה, במנוחה או באמצע תור. ניקוי עם Ctrl+C.
[keys] vim = "all", מצב Normal, הנחיה ריקהEscהשורות למטה חלות.
תור רץ (כל מצב וכל חלונית)Escלא מבטל. מציג הודעת toast "Press Ctrl+c to cancel the turn". הטיוטה לא משתנה. השתמשו ב-Ctrl+C (או בפלטה / נקודות כניסה אחרות לביטול).
תור בתהליך ביטולEscנבלע כפעולה ריקה. Ctrl+C במצב זה מעלה לכיוון יציאה.
מנוחה + הנחיה לא ריקה (טקסט או chips של תמונה), ההנחיה בפוקוס2× Esc בתוך 800msניקוי ההנחיה. הטיוטה שנוקתה נשמרת ב-stash (Ctrl+S, Alt+S, או Ctrl+Z שנלחץ מיד אחרי הניקוי משחזר אותה, כולל תמונות). הלחיצה הראשונה מציגה "press again to clear".
מנוחה + הנחיה ריקה + הודעות שיחה, פוקוס על ההנחיה או על ה-scrollback2× Esc בתוך 800msפתיחת בוחר ה-rewind (כמו /rewind). הלחיצה הראשונה שקטה (בלי toast).
מנוחה + ריק + אין הודעות, או scrollback בפוקוס עם טיוטה / composer במצב (! #) / שכבת needs-input ממתינה / חיפוש היסטוריה פתוחEscנבלע כפעולה ריקה (לא ממקד את ה-scrollback). ניקוי הוא רק בחלונית ההנחיה. rewind דורש composer ריק במצב Normal, בלי שכבה ממתינה, ובלי חיפוש היסטוריה פתוח. קריאת ה-scrollback אף פעם לא משנה את הטיוטה, את מצב ה-composer, שאלה שממתינה לתשובה, או חיפוש שמתבצע.

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

Steal-Esc (רץ לפני רמז אמצע התור ולפני ניקוי / rewind): שכבות, מודאלים, תפריטים נפתחים של slash/קובץ/השלמה, הצעת הנחיה גלויה (Esc דוחה אותה ושומר את מה שהקלדתם. בשכבת הסשן של לוח המחוונים, Esc על הנחיה ריקה חוזר ללוח המחוונים במקום), חיפוש היסטוריה, חיפוש scrollback, בחירת טקסט, הדגשת קישור, קול, ויציאה ממצב Bash / Remember כשההנחיה ריקה (Esc יוצא ממצב ! / # וחוזר להנחיה הרגילה, גם בזמן שתור רץ). /feedback לבדו פותח את טופס המשוב. Esc סוגר אותו.

Prompt vim ([keys] vim = "all"): vim לוקח את Esc אחרי בעלי ה-steal-Esc שלמעלה ולפני ניקוי / rewind, כך ש-rewind ממצב Insert דורש שלוש לחיצות. החזרה ללוח המחוונים של שכבת הסשן היא החריג: היא באה אחרי vim ומחכה למצב Normal בלי count, בלי g או אופרטור ממתין, כך שממצב Insert זה שתי לחיצות, או שלוש כשהצעת הנחיה מוצגת, כי במצב Insert ה-Esc של ההצעה בא קודם ודוחה אותה. ניקוי או שליחה של ההנחיה, מיקוד שלה מחלונית אחרת, והגעת כרטיס מתחילים את הטיוטה הבאה במצב Insert. קלט הטקסט של כרטיס עצמו אף פעם לא משתמש ב-vim. מקשי שורה חדשה, הדבקה או שחרור גרירה, Ctrl+Y, הכתבה, תשובה מצוטטת, חיפוש /history והשלמת Tab במצב ! נכנסים למצב Insert כמו a, כך שהטקסט שלהם ממשיך אחרי הסמן. אחרי שמפסיקים הכתבה, ה-Esc הבא נכנס למצב Normal גם בזמן שהמילים האחרונות עדיין מגיעות: התצוגה המקדימה שלהן זזה לסמן של Normal, ואז הן נוחתות כמו a, מה שמחזיר את ההנחיה למצב Insert. כשכל ההקלטה מתומללת אחרי שעוצרים, אותו Esc משליך את ההקלטה במקום, אם כי מיד אחרי הקלטה קצרה מאוד הוא עדיין יכול להיכנס למצב Normal. חלק מהמקשים שומרים על המשמעות שלהם בהנחיה במצב Normal: Enter מוסיף שורה חדשה במצב multiline, Tab משלים במצב !, והצעת ההנחיה ושליפת היסטוריה עם ↑ עדיין עובדות על הנחיה ריקה. עורך ההנחיה שבתור לא משתמש ב-vim: בזמן עריכת שורה שבתור, המקשים מקלידים כמו במצב Insert. \ בסוף ואז Enter ממשיך את השורה רק במצב Insert. במצב Normal, Enter שולח. ב-macOS וב-Linux בלי פרוטוקול המקלדת של kitty, מסוף שולח Esc ואת המקש שהוקש מיד אחריו כאקורד Alt אחד, ש-vim קורא כשני המקשים: Alt+S לא עושה שם stash (Ctrl+S עדיין עושה), Alt+B / Alt+F / Alt+D במצב Insert יוצאים מ-Insert, ו-Esc ואז Enter מהיר מוסיף שורה חדשה במקום לשלוח. Alt+Z עדיין עושה redo.

Ctrl+C מול Esc: עם טיוטה לא ריקה בזמן שתור רץ, Ctrl+C מנקה את הטיוטה ומשאיר את התור. Ctrl+C שני על הנחיה ריקה מבטל. Esc אף פעם לא מבטל: באמצע תור הוא רק מפנה אל Ctrl+C ומשאיר את הטיוטה. במנוחה עם תוכן לא ריק, Ctrl+C מנקה בלחיצה אחת. Esc דורש שתי לחיצות בתוך 800ms. שני הניקויים נבדלים במה שהם משאירים: Esc Esc שומר את הטיוטה ב-stash, כך ש-Ctrl+S (או Ctrl+Z שנלחץ מיד אחרי) מחזיר אותה, בעוד Ctrl+C משליך אותה (Ctrl+Z עדיין מבטל את הניקוי הזה, טקסט בלבד).


#ברמת הסוכן

פעולות שמשפיעות על סשן הסוכן, זמינות ממסך הסוכן.

מקשהקשרפעולה
Ctrl+Pמסך הסוכןפתיחת פלטת הפקודות
? (Shift+/)מסך הסוכןפתיחת פלטת הפקודות (צירוף חלופי)
Ctrl+Mמסך הסוכןפתיחת בוחר המודל / החלפת מודל
Ctrl+Mההנחיה בפוקוסהחלפת מצב קלט מרובה שורות
Ctrl+Cמסך הסוכןביטול התור הנוכחי (או ניקוי טיוטה לא ריקה קודם. ראו את טבלת Escape)
Ctrl+Oמסך הסוכןהחלפת מצב always-approve ‏(YOLO)
Ctrl+Rמסך הסוכןפתיחת בוחר הסשן (חידוש סשן קודם, כמו /resume)
Ctrl+; (חלופה: Ctrl+')מסך הסוכןהחלפת מצב של חלונית תור ההנחיות (כשהיא לא ריקה). macOS מקומי, משפחת VS Code בלבד: ראשי Ctrl+4 (; / ' עדיין חלופות). SSH ושאינם Mac שומרים Ctrl+; / Ctrl+'.
Shift+Tabההנחיה בפוקוסמחזור מצבים (Normal → Plan → Auto-review (כשמופעל) → Always-approve)
Ctrl+Bמסך הסוכןשליחת פקודת החזית הרצה לרקע
Ctrl+Tמסך הסוכןהחלפת מצב של חלונית ה-todos
Ctrl+Gמסך הסוכן (TUI מלא)החלפת מצב של חלונית המשימות
Ctrl+Gcomposer רגיל (מצב מינימלי)עריכת הטיוטה הנוכחית בעורך חיצוני בלי לשלוח אותה. אם המסוף שומר את האקורד הזה, בחרו Edit Prompt in External Editor מפלטת הפקודות.
/plugins (או /hooks)ההנחיה בפוקוספתיחת מודאל ההרחבות (אין לו צירוף מקשים)
↑ההנחיה בפוקוס (הנחיה ריקה, מצב קלט רגיל)כשיש הנחיות בתור, העברת הפוקוס לחלונית התור עם השורה האחרונה מודגשת (e עורך אותה, Enter שולח אותה עכשיו). אחרת פתיחת לוח ההיסטוריה עם ההנחיה האחרונה ממולאת. ↑/↓ עוברים בין רשומות (כל אחת נוחתת בקלט), ↓ על החדשה ביותר סוגר את הלוח, והקלדה עורכת את ההנחיה שנשלפה במקום. פקודות shell של ! שנשלפו נכנסות שוב למצב shell. ↓ אף פעם לא פותח היסטוריה.
Ctrl+S (חלופה: Alt+S)ההנחיה בפוקוסstash / שליפה של הטיוטה, בסגנון git stash. עם טקסט או תמונות ב-composer: שמירה ב-stash והתחלה מחדש. על composer ריק: שחזור ה-stash החדש ביותר (כולל תמונות ומצב shell של !). אחרי השחזור, הסמן בסוף הטיוטה ששוחזרה. Ctrl+Z שנלחץ מיד אחרי ה-stash משחזר אותו גם (כל מקש אחר שמקלידים להנחיה מנטרל את זה). טיוטה שנשמרה באקורד גם משוחזרת אוטומטית אחרי ששולחים את ההנחיה הבאה (טיוטה שנוקתה ב-Esc כפול נשארת ב-stash, כי המחווה הזו היא השלכה). טיוטה אחת בכל פעם: stash חדש מחליף את הישן.
!ההנחיה בפוקוסכניסה למצב shell (הקלידו ! על הנחיה ריקה)
Ctrl+. (חלופה: Ctrl+X)מסך הסוכןפתיחת עזרת קיצורי המקלדת
F2 (חלופה: Ctrl+, / Cmd+,)מסך הסוכןפתיחת מודאל ההגדרות

הערה: בזמן שתצוגת מסך מלא של סוכן משנה פתוחה, ה-composer מוסתר, אלא אם אפשר לשלוח הודעה לסוכן המשנה הזה. אז ה-composer שולח לסוכן המשנה במקשי ה-composer של השורש: Enter מכניס לתור או מנווט כמו ש-follow_up_behavior אומר, אקורד השליחה עכשיו מנווט בלי לבטל את התור שלו, ו-Ctrl+M מחליף מצב מרובה שורות. Ctrl+L (הבלוק שנבחר של הילד או טקסט מודגש) ו-Enter של מציג הבלוק (השורה שלו) מצטטים לתוך ה-composer הזה ומשאירים את התצוגה פתוחה. לסוכן משנה שאי אפשר לשלוח לו הודעה, הם מצטטים להנחיה שלכם וסוגרים את התצוגה. אקורדים של השורש בלבד (Ctrl+P, Ctrl+M מהתמליל, Ctrl+R, Ctrl+O, Ctrl+B, הגדרות, Shift+Tab) לא עושים כלום, חוץ מזה שב-Apple Terminal Ctrl+O הוא אקורד השליחה עכשיו, כך שב-composer הוא מנווט. Ctrl+C מבטל את התור של הילד. q / Esc סוגר את התצוגה. Ctrl+Q עדיין יוצא (Ctrl+D במשפחת VS Code). ראו צפייה בסוכני משנה ב-TUI.

הערה: Ctrl+M תלוי הקשר. כשההנחיה בפוקוס, הוא מחליף מצב קלט מרובה שורות. אחרת, הוא פותח את בוחר המודל.

הערה: בזמן שטיוטה ב-stash, הגבול העליון של ההנחיה מציג Stashed (ליד כותרת ה-/rename, אם הגדרתם אחת). מצב מינימלי לא מצייר גבול, ולכן הוא מדפיס שורה ב-scrollback בכל stash או שחזור. ה-stash חי בזיכרון בלבד: הוא נעלם ביציאה, והוא לא עובר לסשן מחודש. stash חדש מחליף את הישן. הטיוטה שהוחלפה מושלכת.

הערה: עריכה חיצונית עובדת בכל מצב רינדור: מצב מינימלי קושר את Ctrl+G, וה-TUI המלא משתמש ב-/edit-prompt או בפלטת הפקודות. Grok פותר את $VISUAL, אחר כך את $EDITOR, אחר כך את vi. ערכים יכולים לכלול ארגומנטים במרכאות. שמירה מחליפה רק את הטיוטה (שורת השורה החדשה הסופית שעורך מוסיף בשמירה מוסרת). קובץ ריק מנקה אותה. טיוטות עם chips של הדבקה/קובץ/תמונה חייבות להיערך ב-composer כדי שהקבצים המצורפים לא ישוטחו.

הערה: Ctrl+' הוא חלופה ב-Windows ל-Ctrl+;. חלק מקונסולות Windows משמיטות את משנה Ctrl על מקשי פיסוק.

הערה: במסופים משולבים של VS Code / Cursor / Windsurf / Zed, VTE, Apple Terminal, Windows Terminal, JetBrains, tmux עם extended-keys off, screen, והגדרות דומות בלי KKP, Grok מפרסם את Ctrl+X כמקש הראשי של דף קיצורי המקלדת. המסופים האלה מקבלים Ctrl+X גם בתוך tmux, כי tmux מעביר הלאה רק את מה שהמסוף שולח. ב-tmux בלי פרוטוקול המקלדת של Kitty, Ctrl+. צריך גם tmux 3.3+, extended-keys on, לקוח שמציין extkeys, וב-3.5+ את extended-keys-format csi-u. אחרת Grok מפרסם Ctrl+X. Ctrl+X תמיד עובד כתו בקרה קלאסי גם כש-Ctrl+. לא עובד. הריצו /doctor אם מקשים עם משנה מתנהגים לא נכון ב-tmux.


#הדבקת תמונה וגרירה ושחרור

פעולהmacOSLinuxWindows
גרירת תמונה ממנהל הקבצים אל ההנחיהFinder ✓Files / Dolphin ✓Explorer ✓
העתקת קובץ במנהל הקבצים, ואז הדבקהCmd+VCtrl+VCtrl+V
צילום מסך או "Copy Image" בלוח, ואז הדבקהCmd+VCtrl+VAlt+V

קבצים שאינם תמונה מכניסים את הנתיב המוחלט שלהם כטקסט במקום chip.

כשל-Grok יש רישום של מה שהנחיה שלחה, כל [Image #N] בשורת התמליל שלה מראה אם התמונה יצאה איתה: מודגש אם כן, עם קו חוצה אם רק טקסט ה-placeholder יצא. placeholder בלי רישום שליחה, למשל בסשן מחודש, שומר על המראה הרגיל שלו.

Alt+V ב-Windows ייחודי ל-grok. Ctrl+V ברירת המחדל של Windows Terminal מדביק רק טקסט רגיל ומשמיט בשקט לוחות של תמונה. Alt+V עוקף את המיירט. כדי להשתמש ב-Ctrl+V גם לתמונות, הוסיפו { "command": null, "keys": "ctrl+v" } אל actions ב-settings.json של Windows Terminal.

#PRIMARY ו-CLIPBOARD ב-Linux

ל-X11 ב-Linux יש שתי בחירות טקסט נפרדות:

  • Ctrl+V קורא את CLIPBOARD, בחירת ההעתקה/הגזירה המפורשת. הוא אף פעם לא נופל חזרה ל-PRIMARY. כדי לשים שם טקסט עם xclip, השתמשו ב-printf %s "text" | xclip -selection clipboard.
  • לחיצת אמצע בלי משנה ב-Grok קוראת את PRIMARY, בחירת העכבר הנוכחית, רק כש-DISPLAY לא ריק. X11 טהור יכול להשתמש בנפילה לקורא המקורי שלו. XWayland דורש xclip או xsel על PATH כדי ש-Grok יקרא את בחירת X11 ולא את PRIMARY של Wayland. הלחיצה מטופלת פעם אחת. השחרור לא מדביק שוב.
  • Shift+Insert הוא הדרך המקורית של המסוף להדביק טקסט שנבחר. מסופים רבים משתמשים גם ב-Shift+middle click כדי לעקוף דיווח עכבר של היישום.

מעל SSH, תהליך Grok המרוחק בדרך כלל לא יכול לגשת לבחירת X11 המקומית של המסוף. השתמשו ב-Shift+Insert או ב-Shift+middle click המקוריים למסוף, כדי שהמסוף המקומי ישלח את הטקסט שנבחר דרך ה-PTY.


#במהלך תור פעיל (הסוכן רץ)

בזמן שהסוכן מייצר:

  • Enter רגיל (עם טקסט ב-composer) מכניס לתור המשך להמשך. כברירת מחדל ([ui].follow_up_behavior = "queue") ההמשכים האלה רצים אחרי שהתור הנוכחי נגמר, והם בכוונה ממתינים בזמן שהסוכן חסום בהמתנה למשימות רקע או לסוכן משנה (רמז מסביר את ההמתנה ואיך לשלוח אחד עכשיו). עם "steer", אותו Enter עדיין מציג את השורה בתור, ואז ה-shell מזריק אותה באמצע התור בפער הבטוח הבא של כלי או מודל (ראו הגדרות).
  • Enter שוב על ה-composer שהתרוקן (Enter כפול) שולח עכשיו את המשך התור העליון.
  • אקורד שליחה עכשיו הוא ביטול ושליחה: הוא עוצר את התור הנוכחי (משימות רקע, סוכני משנה, ושאר התור ממשיכים לרוץ) ושולח את ההודעה שלכם כתור הבא, כך שהיא תמיד מופיעה בתחתית התמליל:
    • composer לא ריק → ביטול ושליחה של הטקסט הזה עכשיו. פקודת slash מובנית כמו /compact לא מבטלת את התור: היא רצה, או נכנסת לתור, בדיוק כמו ב-Enter. טקסט אחר שמתחיל ב-/ (נתיב, skill, פקודה לא מוכרת) עדיין נשלח עכשיו.
    • composer ריק + המשך בתור → שליחה עכשיו של המשך התור העליון (בלי צורך למקד את חלונית התור). בחלונית התור, אותו אקורד (או כפתור [Send now]) שולח את השורה הנבחרת.
    • מנוחה, או composer ריק בלי כלום בתור → פעולה ריקה למקש הזה.
  • בזמן שהסוכן חסום בהמתנה (לפלט משימה או לסוכן משנה), Enter רגיל עם טקסט גם נמסר מיד: ה-shell מבטל את התור החסום ומריץ את ההודעה שלכם אחר כך.
מסוףראשיחלופותפעולה
ברירת מחדלCtrl+EnterCtrl+Iשליחה עכשיו (מבטל את התור הנוכחי, מריץ את ההודעה שלכם אחר כך)
Apple TerminalCtrl+OCtrl+Enter, Ctrl+Iשליחה עכשיו
משפחת VS Code ‏(VS Code, Cursor, Windsurf, Zed)Ctrl+L(אין)שליחה עכשיו (Ctrl+I לא בשימוש: Tab / צ'אט המארח)

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

במצב /multiline, Shift+Enter (או Alt+Enter) שולח בעוד Enter רגיל מוסיף שורה חדשה, חוץ מ-composer ריק באמצע תור עם המשך בתור, שם Enter רגיל עדיין שולח עכשיו את השורה העליונה (כמו במצב הרגיל). (Ctrl+Enter הוא שליחה עכשיו באמצע תור כשהוא קשור במסופים שאינם ממשפחת VS Code. הוא לא שולח תור מנוחה חדש.)

שליחה עכשיו מפריעה בכוונה: היא נקראת כ"stop what you're doing and take this". כדי למסור לסוכן הערה בלי לעצור אותו, הכניסו לתור עם Enter רגיל. הסוכן קולט אותה בגבול התור הבא.

WezTerm: מקשי Enter עם משנה אלה צריכים enable_kitty_keyboard = true בהגדרות WezTerm. השלבים המלאים ופתרון עוקף של שורה אחת נמצאים במדריך תמיכת המסוף.

מסופים בלי מקשים עם משנה: ב-macOS וב-Linux, במסופי VTE (כמו GNOME Terminal), JetBrains, Windows Terminal תחת WSL, GNU screen, מסופים ש-Grok לא מזהה (בלי מרבב), ו-tmux שלא מעביר מקשים עם משנה, Ctrl+Enter מאבד את ה-Ctrl שלו (הוא מגיע כ-Enter או כ-Ctrl+J) ו-Ctrl+I מגיע כ-Tab. שם, בהנחיה הרגילה בלי שום דבר אחר בתור, הכותרת התחתונה מציעה שליחה עכשיו כ-Enter Enter: הראשון מכניס את ההודעה לתור והשני שולח אותה עכשיו. ב-tmux, הגדרות tmux מחזירות את Ctrl+Enter ממסוף ששולח אותו.

Windows (שאינו ממשפחת VS Code): חלק מהקונסולות משמיטות את משנה Ctrl על Ctrl+Enter (הוא יכול לקרוס ל-Enter חשוף או ל-Ctrl+J). השתמשו ב-Ctrl+I כחלופה: אקורדי Ctrl של מקשי אות יציבים בקונסולות Windows. במשפחת VS Code, השתמשו ב-Ctrl+L.

Ctrl+L במשפחת VS Code: Grok משתמש בו ל-interject בהנחיה. אם פרופיל המסוף עדיין ממפה Clear (או פקודה אחרת) ל-Ctrl+L, הצירוף של המארח יכול לגנוב את האקורד. קשרו מחדש או הסירו אותו כדי שה-PTY יקבל form feed ‏(\x0c).

#גלובלי

פעולות שזמינות מכל מסך.

מקשמקש חלופיפעולהאישור
Ctrl+Nיצירת סשן חדש (אופציונלית ב-git worktree)כן (לחיצה כפולה בתוך 1000ms)
Ctrl+\פתיחה או החלפה של לוח הסוכניםלא
Ctrl+Lמצייר מחדש את המסך כששום דבר אחר במסך הזה לא משתמש בו, או שאין לו מה לעשותלא
Ctrl+QCtrl+Dיציאה מהיישוםכן (לחיצה כפולה בתוך 1000ms; 3 שניות עם הודעה כשיציאה תעצור ריצות workflow)

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

מסוף ממשפחת VS Code (VS Code, Cursor, Windsurf, מסופים משולבים של Zed): Ctrl+Q נתפס על ידי המארח, ולכן Grok הופך את Ctrl+D למקש היציאה היחיד (Ctrl+Q לא מקושר). חצי עמוד למטה מקושר מחדש ל-Shift+D חשוף. התערבות באמצע תור משתמשת ב-Ctrl+L (בלי חלופות) כי Ctrl+Enter / Ctrl+I לא מגיעים באופן אמין ל-PTY.

הערה: במצב מינימלי, Ctrl+L מצייר מחדש רק את החלק ש-Grok עדיין מצייר בתחתית המסך ומנקה את השורות שמתחתיו. ראו שורות נשארות ריקות אחרי ניקוי מסוף.

לחזרה למסך הפתיחה אין קישור מקש. השתמשו בפקודת הסלאש /home (כינוי /welcome) מתוך סשן. ראו פקודות סלאש.

#אישור פעולה הרסנית

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

Ctrl+C על פרומפט ריק כששום דבר לא רץ מבקש את אותה לחיצה כפולה. עם ui.single_ctrl_c_quit = true הוא יוצא בלחיצה הראשונה, אלא אם יציאה תזרוק טיוטה או עבודה שלא הסתיימה.

#יציאה בזמן ש-workflows רצים

כשיציאה תעצור ריצות workflow, הלחיצה הראשונה ליציאה מציגה הודעה כמו 1 workflow still running; quitting stops it. Press Ctrl+q to quit., וללחיצה השנייה יש אז 3 שניות. אילו ריצות נספרות תלוי איפה סשנים רצים:

  • מסלול Shell: ריצות שרצות עכשיו. ריצה מושהית נשארת ניתנת לחידוש אחרי שיוצאים.
  • מסלול Daemon: כל ריצה שלא הסתיימה, כולל ריצות מושהות וחסומות, כי יציאה עוצרת את ה-daemon (ההודעה אומרת not finished).
  • מצב Leader (--leader, או [cli] use_leader = true): אין הודעה, כי ה-leader המשותף ממשיך את הריצות אחרי שיוצאים.

יציאה בלי מקש ללחוץ עליו פעמיים, כמו Quit בפלטה, לחיצה על שורת Quit או Enter על Quit בתפריט מסך הפתיחה, ממתינה למקש היציאה. יציאת העדכון של מסך הפתיחה (Ctrl+U) וה-q של מסך ההתחברות ממתינים לאותו מקש שוב. /quit מוקלד עובד כמתואר תחת /quit. במצב מינימלי ההודעה היא שורה ב-scrollback. כששום דבר לא רץ, כל יציאה עובדת כמו קודם.


#מסך הפתיחה

קישורים שנורים רק במסך הפתיחה (לפני שסשן סוכן כלשהו פתוח).

מקשפעולה
Ctrl+Pפתיחת פלטת הפקודות ויציאה מ-home
?הקלדת ? כשפרומפט הפתיחה ממוקד
Ctrl+Rחידוש סשן (פתיחת בורר הסשנים)
Ctrl+Wפתיחת דיאלוג New Worktree (רק בתוך מאגר git)
Ctrl+Iייבוא הגדרות Claude (כשזמין)
Ctrl+Shift+Iסילוק שורת הייבוא של Claude (כשזמין)
←פתיחת לוח הסוכנים כשפרומפט הפתיחה ממוקד וריק

Ctrl+W, Ctrl+I ו-Ctrl+Shift+I פעילים רק במסך הפתיחה. Ctrl+R פותח את בורר הסשנים גם במסך הפתיחה וגם בתוך סשן סוכן (שם הוא נפתח כשכבת מודאל, כמו פקודת /resume). עם ui.mouse_reporting_toggle מופעל, Ctrl+R מחליף לכידת עכבר בזמן שחלונית ה-scrollback ממוקדת. הבורר עדיין על Ctrl+R מהפרומפט. Ctrl+S הוא ה-stash של הפרומפט בתוך סשן (הוא לא עושה כלום במסך הפתיחה, שאין בו טיוטה להניח בצד). Ctrl+Q הוא אותו קישור Quit גלובלי שתועד למעלה, לא מטפל ייחודי למסך הפתיחה.


#לוח סוכנים

קישורים בזמן שלוח הסוכנים ממוקד (Ctrl+\, /dashboard, או ← על פרומפט ריק).

מקשפעולה
↑ / ↓, j / kניווט בשורות סוכנים (בחירת שורה פותחת peek)
Enterפתיחת הסוכן שנבחר, או שליחת תשובת peek שהוקלדה / פרומפט dispatch
Ctrl+Sמענה או dispatch וגם צירוף לאותו סוכן
Ctrl+/החלפת מצב חיפוש / סינון
Ctrl+Rשינוי שם הסוכן שנבחר
Ctrl+Tנעיצה / ביטול נעיצה
Ctrl+Gהחלפת קיבוץ (מצב ↔ תיקיית עבודה)
Ctrl+Xביטול תור שרץ, או לחיצה פעמיים בתוך 2s למחיקה לצמיתות (בתצוגת פרטים של סוכן מצורף, פעמיים סוגר את הסשן במקום)
Ctrl+Oהחלפת always-approve על הסוכן שנבחר
Tabהחלפת מיקוד בין הרשימה לקלט dispatch / peek
Escצעד אחורה (ביטול חיפוש → סגירת peek → ניקוי סינון → ביטול מיקוד → ביטול בחירה → יציאה)
Ctrl+\יציאה מהלוח (או חזרה מסוכן מצורף)
Ctrl+. (חלופה: ?)גיליון קיצורי דרך

פרטים (peek מול dispatch, קידומות חיפוש, התמדה): לוח סוכנים.


#פלטת פקודות

לחצו Ctrl+P או ? כדי לפתוח את פלטת הפקודות: רשימה ניתנת לחיפוש של פעולות נפוצות, שכל אחת מציגה את קישור המקש או פקודת הסלאש שלה. היא כוללת פעולות סשן, לשוניות המודאל של ההרחבות (Hooks, Plugins, Marketplace, Skills, Workflows, MCP Servers), ועוד.

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


#סרגל קיצורים

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

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

#תמיכה בעכבר

ה-TUI תומך באינטראקציית עכבר:

  • לחיצה על רשומת scrollback כדי לבחור אותה
  • לחיצה על קישור subagent עם שם (כזה שמציג תווית במקום ה-id הגולמי) כדי לפתוח את התצוגה שלו. id גולמי של subagent או של משימת רקע נלחץ כמו הטקסט סביבו, כך שעדיין אפשר לבחור אותו. Cmd+click (macOS) או Ctrl+click פותח אותו
  • לחיצה כפולה על הודעה (הפרומפטים והתשובות שלכם, תגובות, תשובות /btw, הודעות) כדי לבחור ולהעתיק מילה, או לחיצה משולשת לפסקה. ההדגשה נשארת עד Esc, לחיצה או גלילה, כך שה-Esc הראשון מנקה אותה. על פרומפט, שאלה שנענתה, תשובת /btw או recap שמציג רק חלק מהטקסט שלו, לחיצה כפולה מרחיבה אותו במקום. בתשובת /btw מורחבת, לחיצה כפולה מתחת לכותרת שלה שמפספסת את הטקסט אף פעם לא מקפלת אותה, בכל מצב. כל לחיצה עדיין בוחרת אותה
  • לחיצה כפולה על שורת כלי, קבוצת פעילות או שורת thinking כדי להרחיב או לקפל אותה, יהיה מה שיהיה הערך של ui.keep_text_selection. במחשבה שהגוף שלה מוצג, מורחבת או עדיין רצה, לחיצה כפולה מתחת לכותרת שלה שמפספסת את הטקסט (תאים ריקים, ה-rail, פסי ציטוט, שורת …) אף פעם לא מקפלת או מרחיבה אותה. כל לחיצה עדיין בוחרת אותה
  • כש-ui.keep_text_selection מוגדר ל-hold, לחיצה כפולה אף פעם לא בוחרת מילה: על פרומפט, שאלה שנענתה, תשובת /btw או recap היא מקפלת או מרחיבה אותו, וההדגשה של גרירה נשארת עד Esc, לחיצה או גלילה. flash עושה אותו דבר, חוץ מזה שההדגשה מתנקה מעצמה רגע אחרי ההעתקה
  • כדי להשתמש בבחירה של המסוף עצמו במקום של Grok, החזיקו Shift (Option ב-iTerm2) וגררו
  • גלגלת כדי לגלול ב-scrollback
  • לחיצה על אזור הפרומפט כדי למקד אותו
  • ריחוף מעל הפרומפט כדי לראות הדגשה (ניתן להגדרה דרך pager.toml)
  • לחיצה אמצעית ב-Linux X11/XWayland כדי להדביק את בחירת PRIMARY

#כרטיס עזר מהיר

#כשה-scrollback ממוקד (מקשי vim כבויים, ברירת מחדל)

Navigation:       Up/Down (prev/next entry)  Shift+Left/Right (prev/next turn)
Scrolling:        Ctrl+J/K (line)  PgUp/PgDn (page)  Ctrl+U/D (half page)
Focus prompt:     Space, or type any character but ? (focuses the prompt and types it)

#כשה-scrollback ממוקד (מקשי vim במצב nav)

Navigation:       j/k (up/down)  H/L (prev/next turn)  K/J (viewport-top turn)  g/G (top/bottom)
Scrolling:        Ctrl+J/K (line)  Ctrl+U/D (half page; D=Shift+D in VSCode)  PgUp/PgDn (page)
Folding:          h/l (collapse/expand)  e (toggle)  E (all)
Content:          y (copy)  Y (copy cmd)  Enter (fullscreen)
View:             r (raw markdown)  Ctrl+E (thinking)
Focus prompt:     i, Tab, or Space

#כשהפרומפט ממוקד

Send:             Enter
Newline:          Shift+Enter or Alt+Enter
Multiline:        Ctrl+M (toggle)
Paste:            Ctrl+V (text, files, screenshots on macOS/Linux)
Selected text:    Middle click or Shift+Insert (Linux X11/XWayland PRIMARY)
Paste image:      Alt+V (Windows only , for screenshots / "Copy Image")
Select all:       Cmd+A (macOS, Ghostty and Herdr 2 , see note below)
Start / end:      Cmd+↑/↓ or Ctrl+Home/End (whole input , see note below)
Select text:      Shift+←/→ (char) · Alt+Shift+←/→ (word) ·
                  Cmd+Shift+←/→ (visual row) · Shift+Home/End (logical line) ·
                  Shift+↑/↓ (row) · Cmd+Shift+↑/↓ or Ctrl+Shift+Home/End
                  (to start / end of input)
Copy / Cut:       Cmd+C / Cmd+X (with a selection; Kitty-protocol terminals)
Leave:            Tab (back to scrollback)
Cancel (running): Ctrl+C (empty prompt; non-empty draft clears first)
Clear (idle):     Esc Esc within 800ms (non-empty prompt)
Rewind (idle):    Esc Esc within 800ms (empty prompt + messages)

כותרת התחתונה של ה-composer מציגה את אקורד השורה החדשה ליד Enter:send (או Enter:queue בזמן שתור רץ) ברגע שהטיוטה לא ריקה (כולל /btw ופקודות סלאש אחרות שדורשות ארגומנט). מעל SSH, ב-tmux שלא מעביר מקשים עם מודיפיירים (ישן מ-3.3 או extended-keys off), או, כשפרוטוקול המקלדת של Kitty לא פעיל, ב-tmux עם לקוח שלא מציין extkeys או ב-tmux 3.5+ בלי extended-keys-format csi-u, או במסופים שלא יכולים להבדיל בין Shift+Enter ל-Enter, הכותרת התחתונה מעדיפה Alt+Enter.

Cmd+Enter אינו אקורד שליחה או שורה חדשה שמפורסם. מסופים רבים מקשרים אותו למסך מלא, ולכן SUPER מוחרג ממתאם השורה החדשה של Shift/Alt ומקישור השליחה של Enter חשוף של הסוכן. כשמסוף שמדבר את פרוטוקול המקלדת של Kitty מוסר SUPER+Enter, ה-composer עדיין מכניס שורה חדשה: המקש מפספס שליחה ונוחת ב-textarea, שמתייחס לכל Enter כשבירת שורה. Apple Terminal הוא מסלול מקומי נפרד: חילוץ CoreGraphics מתייחס ל-Cmd מוחזק כ-Enter עם מודיפייר ומכניס שורה חדשה על מה שמגיע כ-Enter חשוף. מעל SSH המודיפייר Cmd/SUPER אף פעם לא מגיע (כולל iTerm2 + tmux), ולכן האקורד נראה כמו Enter חשוף ושולח. מרחוק, השתמשו ב-Alt+Enter, ב-\ סוגר ואז Enter, או ב-/ml.

כשבחירה פעילה, הקלדה / Enter / הדבקה מחליפים אותה, אקורדי מחיקה והריגת מילה מוחקים רק את הבחירה, חיצים מכווצים אותה לקצה התואם (הזזות מילה/שורה ממשיכות מהקצה הזה), ו-Esc או Tab מורידים את ההדגשה ועדיין מבצעים את הפעולה הרגילה שלהם. שימו לב ש-Shift+←/→ בוחר רק בזמן שהפרומפט ממוקד. כשה-scrollback ממוקד אותם אקורדים קופצים בין תורות (ראו ניווט למעלה).

Cmd+A מוגבל ל-Ghostty ול-Herdr 2. המטפל בתוך האפליקציה של Grok ל-Cmd+A מחובר רק כשהמסוף שזוהה הוא Ghostty או Herdr 2. מסופים אחרים או בולעים את Cmd+A בשכבת המסוף (Apple Terminal, iTerm2 כברירת מחדל) או מפעילים התנהגות "Select All" משלהם בתוך המסוף (Kitty, WezTerm). בכל מסוף אחר, הקישור לא עושה כלום והמקש עובר להתנהגות המקורית של המסוף.

Herdr 2 לא מקשר כלום ל-Cmd+A ומעביר אותו לתוכנית, ולכן זה עובד שם בלי הגדרה.

ב-Ghostty, הוסיפו את שורת ה-unbind האחת ל-~/.config/ghostty/config כדי שהקשה תגיע ל-TUI שרץ:

keybind = cmd+a=unbind

אחרי ש-Ghostty נטען מחדש (הוא עוקב אחרי קובץ ההגדרות), Cmd+A בפרומפט בוחר כל תו בחוצץ הפרומפט, כולל שבבי תמונה שהודבקו. שבבי תמונה תמיד בלי נתיב ([Image #N]). נתיב הקובץ (כשידוע) מופיע רק בשכבת התצוגה המקדימה של התמונה בריחוף או כשהסמן על השבב או מיד אחריו. טקסט [Image #N] שחוזר כטקסט רגיל (Ctrl+K ואז Ctrl+Y, ביטול, הדבקת טקסט רגיל) מתחבר מחדש כשבב בזמן שה-composer עדיין מחזיק את התמונה. מציין מקום לתמונה שהוא כבר לא מחזיק נשלח כטקסט עם toast שאומר זאת.

התחלה / סוף של הקלט. Cmd+↑ ו-Ctrl+Home מזיזים את הסמן להתחלה של כל הפרומפט, ו-Cmd+↓ ו-Ctrl+End מזיזים אותו לסוף. עם Shift הם בוחרים עד לשם. מסופים רבים שומרים את Cmd+↑/↓ לעצמם. שם, השתמשו ב-Ctrl+Home/End (Ctrl+Fn+←/→ במחשב נייד Mac). מדריך תמיכת המסוף מפרט אילו מסופים לוקחים אילו מקשים ואיך להעביר Cmd+↑/↓.

#תמיד זמין

Command palette:  Ctrl+P or ?
Model picker:     Ctrl+M (from scrollback)
Cancel:           Ctrl+C (see Escape table)
Always-approve:   Ctrl+O (toggle YOLO)
New session:      Ctrl+N (press again; with `ask`, choose normal/worktree where one can be made)
Quit:             Ctrl+Q (or Ctrl+D in VSCode)