מדריך קלוד קוד בעברית

תיעוד 149

הגדרת הטרמינל עבור Claude Code

תיקון Shift+Enter לשורות חדשות, קבלת צלצול טרמינל כש-Claude מסיים, הגדרת tmux, התאמת ערכת הצבעים, והפעלת מצב Vim ב-CLI של Claude Code.

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

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

#הזנת הנחיות מרובות שורות

לחיצה על Enter שולחת את ההודעה. כדי להוסיף מעבר שורה בלי לשלוח, לחץ Ctrl+J, או הקלד \ ואז לחץ Enter. שניהם עובדים בכל טרמינל בלי הגדרה.

ברוב הטרמינלים אפשר גם ללחוץ Shift+Enter, אבל התמיכה משתנה לפי אמולטור הטרמינל:

טרמינלShift+Enter לשורה חדשה
Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminalעובד בלי הגדרה
טרמינלים אחרים שתומכים בפרוטוקול המקלדת של kitty, כגון foot ו-Alacritty 0.16 או מאוחר יותרעובד בלי הגדרה. דורש Claude Code v2.1.269 או מאוחר יותר
VS Code, Cursor, Devin Desktop, Alacritty לפני 0.16, Zedהרץ /terminal-setup פעם אחת
gnome-terminal, סביבות JetBrains כגון PyCharm ו-Android Studioלא זמין: השתמש ב-Ctrl+J או ב-\ ואז Enter

עבור VS Code, Cursor, Devin Desktop, Alacritty לפני 0.16, ו-Zed, /terminal-setup כותב binding של Shift+Enter לקובץ התצורה של הטרמינל. בהרצה הראשונה מופיע אישור כגון Installed VSCode terminal Shift+Enter key binding. bindings קיימים נשארים במקום. אם מופיעה הודעה כגון VSCode terminal Shift+Enter key binding already configured, לא בוצע שינוי. הרץ את /terminal-setup ישירות בטרמינל המארח, ולא בתוך tmux או screen, כי הוא צריך לכתוב לתצורה של הטרמינל המארח.

ב-VS Code, ב-Cursor וב-Devin Desktop, /terminal-setup מעדכן גם שתי הגדרות עורך: הוא מגדיר את terminal.integrated.gpuAcceleration ל-"off" כדי למנוע טקסט משובש בטרמינל המשולב, והוא מגדיר את terminal.integrated.mouseWheelScrollSensitivity לגלילה חלקה יותר במצב מסך מלא. כדי לבטל את שינוי האצת ה-GPU, החזר את ההגדרה ל-"auto" וטען מחדש את חלון העורך.

ב-Zed, /terminal-setup מעדכן את keymap.json במקום:

  • אם ב-keymap כבר יש bindings ואף אחד מהם אינו Terminal shift-enter, Claude Code קודם מגבה אותו לעותק באותה תיקייה, כגון keymap.json.1a2b3c4d.bak, ואז ממזג את ה-binding של Shift+Enter לתוך ה-keymap, ושומר על שאר ה-keybindings ועל ההערות
  • אם Claude Code לא יכול לקרוא או לנתח את ה-keymap, לא יכול לגבות אותו, או לא יכול לאמת את התוצאה הממוזגת, הוא משאיר את הקובץ ללא שינוי ומדפיס את בלוק ה-keybinding להוספה בעצמך

אם אתה רץ בתוך tmux, Shift+Enter דורש גם את הגדרת tmux שלמטה, גם כשהטרמינל החיצוני תומך בזה.

כדי לקשר שורה חדשה למקש אחר, או כדי להחליף התנהגות כך ש-Enter מוסיף שורה חדשה ו-Shift+Enter שולח, מפה את הפעולות chat:newline ו-chat:submit בקובץ ה-keybindings.

#הפעלת קיצורי מקש Option ב-macOS

חלק מקיצורי Claude Code משתמשים במקש Option, כגון Option+Enter לשורה חדשה או Option+P להחלפת מודלים. ב-macOS, רוב הטרמינלים לא שולחים את Option כ-modifier כברירת מחדל, ולכן הקיצורים האלה לא עושים כלום עד שמפעילים את זה. הגדרת הטרמינל לכך מסומנת בדרך כלל "Use Option as Meta Key". Meta הוא השם ההיסטורי ב-Unix למקש שמסומן היום Option או Alt.

#Apple Terminal

פתח Settings → Profiles → Keyboard וסמן "Use Option as Meta Key".

אם אישרת את בקשת הגדרת הטרמינל בהרצה הראשונה של Claude Code, זה כבר נעשה. הבקשה הזו מריצה עבורך את /terminal-setup, שמפעיל את Option כ-Meta ומכבה את הצלצול הנשמע בפרופיל Apple Terminal שלך.

במצב קורא מסך, /terminal-setup משאיר את הגדרת הצלצול ללא שינוי כדי שצלצול הטרמינל יישאר נשמע. אם הרצה קודמת כיבתה את הצלצול, הפעל אותו מחדש תחת Settings → Profiles → Advanced → "Audible bell".

#iTerm2

פתח Settings → Profiles → Keys → General והגדר את Left Option key ואת Right Option key ל-"Esc+".

הרצת /terminal-setup ב-iTerm2 מפעילה את "Applications in terminal may access clipboard" תחת Settings → General → Selection, כדי שהפקודה /copy תוכל לכתוב ללוח המערכת. הפקודה מזהה את iTerm2 גם כשמריצים אותה מתוך tmux. הפעל מחדש את iTerm2 כדי שהשינוי ייכנס לתוקף.

#VS Code

הוסף "terminal.integrated.macOptionIsMeta": true להגדרות VS Code.

עבור Ghostty, Kitty וטרמינלים אחרים, חפש הגדרת Option-as-Alt או Option-as-Meta בקובץ התצורה של הטרמינל.

#קבלת צלצול טרמינל או התראה

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

כברירת מחדל, Claude Code שולח התראת שולחן עבודה בחלק מהטרמינלים, ותו צלצול או כלום בטרמינלים אחרים:

  • Ghostty, Kitty ו-iTerm2, כש-Claude Code מזהה אותם: התראת שולחן עבודה, ש-iTerm2 מציג רק אחרי שמפעילים את הגדרות ההתראה שלו.
  • Apple Terminal: אין צליל. תו צלצול שקט כש-Claude Code מוצא ש-"Audible bell" כבוי בפרופיל של חלון Terminal הקדמי, אחרת כלום. תו הצלצול הזה מוצג כהבהוב חלון, או כקפיצת Dock בזמן ש-Terminal ברקע, אם האפשרות "Visual bell" או קפיצת Dock של הפרופיל הזה מופעלת.
  • טרמינלים אחרים: כלום.

כדי ש-Claude Code ישלח את תו הצלצול בכל טרמינל או פרופיל, הגדר את preferredNotifChannel ל-"terminal_bell". ב-Apple Terminal, הפעל גם את Audible bell תחת Settings > Profiles > Advanced כדי לשמוע אותו. רשומת ההגדרות הבאה קובעת את הערוץ:

{
  "preferredNotifChannel": "terminal_bell"
}

ב-SSH מטרמינל שרץ מחוץ ל-tmux, הגדר את preferredNotifChannel לערך של הטרמינל המקומי, "iterm2", "kitty" או "ghostty", במכונה שמריצה את Claude Code. התראת שולחן העבודה מגיעה אז למכונה המקומית. Ghostty ו-Kitty מעבירים אותה למרכז ההתראות של מערכת ההפעלה בלי הגדרה נוספת. iTerm2 דורש להפעיל העברה:

  1. פתיחת הגדרות ההתראות של iTerm2

    עבור אל Settings → Profiles → Terminal.

  2. הפעלת התראות

    סמן "Notification Center Alerts", ואז לחץ "Filter Alerts" והפעל "Send escape sequence-generated alerts".

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

#השמעת צליל עם hook מסוג Notification

בכל טרמינל אפשר להגדיר hook מסוג Notification כדי להשמיע צליל או להריץ פקודה מותאמת כש-Claude צריך את תשומת הלב שלך. Hooks רצים לצד ההתראה המובנית ואינם מחליפים אותה, כך שטרמינלים שלא מקבלים התראת שולחן עבודה, כגון Warp או הטרמינל המשולב של VS Code, יכולים להשתמש ב-hook או להגדיר את preferredNotifChannel ל-"terminal_bell".

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

{
  "hooks": {
    "Notification": [
      {
        "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }]
      }
    ]
  }
}

#הצגת מצב הסשן בטרמינל

אם הטרמינל מממש את OSC 7501 Program Status Protocol, הוא יכול להציג אם כל סשן אינטראקטיבי של Claude Code עובד, ממתין לך, או הסתיים. זה עוזר כשמריצים משימות ארוכות או כמה סשנים יחד. אין מה להפעיל ב-Claude Code. כדי לבדוק אם הטרמינל מממש את הפרוטוקול ואיפה הוא מציג את הסטטוס, בדוק את התיעוד שלו.

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

  • גרסת Claude Code: דיווח סטטוס דורש Claude Code v2.1.295 או מאוחר יותר. הרץ claude --version ב-shell כדי לבדוק.
  • tmux: בתוך tmux, Claude Code בודק תמיכה ב-tmux במקום בטרמינל שלך, ול-allow-passthrough אין השפעה על זה. התחל את הסשן מחוץ ל-tmux.
  • סשן ברקע: סשן ברקע לא מדווח על הסטטוס שלו לטרמינל, גם בזמן שאתה מחובר אליו. תצוגת Agent מציגה את הסטטוס במקומו.
  • CLAUDE_CODE_DISABLE_TERMINAL_TITLE: אם הגדרת את המשתנה הזה ל-1, Claude Code לא בודק תמיכה ולא מדווח סטטוס. בטל את ההגדרה שלו.

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

#הגדרת tmux

כש-Claude Code רץ בתוך tmux, כברירת מחדל Shift+Enter שולח במקום להוסיף שורה חדשה, והתראות שולחן עבודה לא מגיעות לטרמינל החיצוני. הוסף את השורות האלה ל-~/.tmux.conf, ואז הרץ tmux source-file ~/.tmux.conf כדי להחיל אותן על השרת שרץ:

set -g allow-passthrough on
set -g focus-events on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'

כדי לשלוח התראות מחלונית גלויה לטרמינל החיצוני, השאר את שורת allow-passthrough והגדר את preferredNotifChannel ל-"iterm2", "kitty" או "ghostty". עם הדוגמה הזו, חלונית בחלון שאינך צופה בו לא שולחת כלום. שורות extended-keys מאפשרות ל-tmux להבדיל בין Shift+Enter ל-Enter רגיל, כדי שקיצור השורה החדשה יעבוד.

Image של mod צריך את השורות allow-passthrough ו-focus-events, יחד עם שאר הדרישות לציור בתוך tmux. אחרי שמוסיפים את השורות, התנתק גם מ-tmux, התחבר שוב, והפעל מחדש את Claude Code.

#תיקון מצב שבו Backspace מוחק מילה שלמה ב-Windows

ב-Windows, Claude Code קורא Backspace שמגיע כ-^H כ-Ctrl+Backspace, שמוחק את המילה הקודמת, חוץ ממקרה שבו TERM_PROGRAM הוא mintty או TERM הוא cygwin. ב-macOS וב-Linux, Claude Code קורא את זה כ-Backspace רגיל.

אם כל לחיצה על Backspace מוחקת מילה שלמה, הטרמינל שולח ^H עבור Backspace רגיל. הגדר CLAUDE_CODE_BS_AS_CTRL_BACKSPACE=0. אז Backspace ו-Ctrl+H מוחקים תו אחד כל אחד. אם Ctrl+Backspace מוחק רק תו אחד ב-macOS או ב-Linux כי הטרמינל שולח ^H עבורו, הגדר את המשתנה ל-1.

#התאמת ערכת הצבעים

השתמשו בפקודה /theme, או בבורר ערכות הנושא בתוך /config, כדי לבחור ערכת נושא של Claude Code שתואמת לטרמינל שלכם. בחירה באפשרות auto מזהה רקע בהיר או כהה של הטרמינל, כך שערכת הנושא עוקבת אחרי שינויי המראה של מערכת ההפעלה בכל פעם שהטרמינל עושה זאת. Claude Code לא שולט בסכמת הצבעים של הטרמינל עצמו, שנקבעת על ידי יישום הטרמינל.

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

#יצירת ערכת נושא מותאמת

בנוסף לקביעות המובנות, /theme מציג כל ערכת נושא מותאמת שהגדרתם וכל ערכות נושא שתרמו תוספים מותקנים. בחרו New custom theme… בסוף הרשימה כדי ליצור אחת באופן אינטראקטיבי: נותנים שם לערכת הנושא, ואז בוחרים אסימוני צבע בודדים לדריסה. לחצו Ctrl+E בזמן שערכת נושא מותאמת מסומנת כדי לערוך אותה.

כל ערכת נושא מותאמת היא קובץ JSON ב-~/.claude/themes/. שם הקובץ בלי הסיומת .json הוא ה-slug של ערכת הנושא, ובחירת ערכת הנושא שומרת את custom:<slug> כהעדפת ערכת הנושא שלכם. לקובץ שלושה שדות אופציונליים:

שדהסוגתיאור
namestringתווית תצוגה שמוצגת ב-/theme. ברירת המחדל היא ה-slug של שם הקובץ
basestringקביעה מובנית שממנה ערכת הנושא מתחילה: dark, light, dark-daltonized, light-daltonized, dark-ansi, או light-ansi. ברירת המחדל היא dark
overridesobjectמיפוי משמות אסימוני צבע לערכי צבע. אסימונים שלא רשומים כאן עוברים לקביעה המובנית הבסיסית

ערכי צבע מקבלים #rrggbb, #rgb, rgb(r,g,b), ansi256(n), או ansi:<name> כאשר <name> הוא אחד מ-16 שמות צבעי ANSI הסטנדרטיים, כמו red או cyanBright. אסימונים לא מוכרים וערכי צבע לא תקינים מתעלמים מהם, כך ששגיאת הקלדה לא יכולה לשבור את העיבוד.

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

{
  "name": "Dracula",
  "base": "dark",
  "overrides": {
    "claude": "#bd93f9",
    "error": "#ff5555",
    "success": "#50fa7b"
  }
}

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

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

#מדריך אסימוני צבע

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

{
  "name": "Midnight",
  "base": "dark",
  "overrides": {
    "claude": "#a78bfa",
    "planMode": "#38bdf8",
    "diffAdded": "#14532d",
    "diffRemoved": "#7f1d1d",
    "userMessageBackground": "#1e1b4b"
  }
}
#צבעי טקסט והדגשה

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

אסימוןבמה הוא שולט
claudeהדגשת המותג הראשית, בשימוש לספינר ולתווית העוזר
textטקסט חזית ברירת מחדל
inverseTextטקסט שמצויר מעל רקע צבעוני, כמו תגי סטטוס
inactiveטקסט משני כמו רמזים, חותמות זמן ופריטים מושבתים
subtleמסגרות חיוורות וטקסט משני מוחלש
suggestionהצעות השלמה אוטומטית והדגשת בחירה בבוררים
permissionמסגרות של תיבות דו שיח, כולל בקשות הרשאה ובוררים
rememberמחוונים של זיכרון ושל CLAUDE.md
#צבעי סטטוס

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

אסימוןבמה הוא שולט
successהודעות הצלחה ובדיקות שעוברות
errorהודעות שגיאה וכישלונות
warningאזהרות, הודעות זהירות, ומחוון מצב auto
mergedסטטוס של בקשת משיכה שמוזגה
#תיבת קלט ומחווני מצב

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

אסימוןבמה הוא שולט
promptBorderמסגרת תיבת הקלט
planModeהדגשת מצב plan, הודעות plan ותיבות דו שיח של מצב plan
autoAcceptהדגשת מצב Accept-edits
bashBorderמסגרת תיבת הקלט בזמן הזנת פקודת מעטפת עם !
ideמחוון חיבור IDE
fastModeמחוון מצב fast
effortUltraהתג ultracode על מסגרת תיבת הקלט בזמן ש-ultracode פועל. דריסת הצבע הזה נכנסת לתוקף ב-Claude Code מגרסה v2.1.239 ואילך
#עיבוד diff

צובעים קוד שנוסף וקוד שהוסר בעריכות קבצים ובסקירות.

אסימוןבמה הוא שולט
diffAddedרקע של שורות שנוספו
diffRemovedרקע של שורות שהוסרו
diffAddedDimmedרקע של שורות שנוספו ב-diff המעומעם שמוצג אחרי שדוחים עריכה
diffRemovedDimmedרקע של שורות שהוסרו ב-diff המעומעם שמוצג אחרי שדוחים עריכה
diffAddedWordהדגשה ברמת המילה בתוך שורה שנוספה
diffRemovedWordהדגשה ברמת המילה בתוך שורה שהוסרה
#מצב מסך מלא

Claude Code משתמש ב-userMessageBackgroundHover, ב-selectionBg וב-composerSidebarBackground רק במצב עיבוד מסך מלא. הוא צובע את userMessageBackground, את bashMessageBackgroundColor ואת memoryBackgroundColor גם במעבד ברירת המחדל וגם במעבד מסך מלא.

אסימוןבמה הוא שולט
userMessageBackgroundהרקע מאחורי ההודעות שלכם בתמליל
userMessageBackgroundHoverהרקע מאחורי הודעה בזמן ריחוף או הרחבה
bashMessageBackgroundColorהרקע מאחורי רשומות של פקודות מעטפת עם ! בתמליל
memoryBackgroundColorהרקע מאחורי רשומות זיכרון עם # בתמליל
selectionBgהרקע של טקסט שנבחר עם העכבר
composerSidebarBackgroundהרקע של החלונית ליד השיחה, כמו חלונית ה-diff או חלונית של mod
#מד שימוש ותוויות דובר

מתאימים את העמודה שמוצגת בתצוגת /usage ואת התוויות שמבדילות בין ההודעות שלכם להודעות של Claude.

אסימוןבמה הוא שולט
rate_limit_fillהחלק המלא של מד השימוש
rate_limit_emptyהחלק הריק של מד השימוש
briefLabelYouהצבע של התווית You על ההודעות שלכם
briefLabelClaudeהצבע של התווית Claude על הודעות העוזר
#גרסאות shimmer וצבעי סוכן משנה

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

  • claude ו-claudeShimmer
  • warning ו-warningShimmer
  • permission ו-permissionShimmer
  • promptBorder ו-promptBorderShimmer
  • inactive ו-inactiveShimmer
  • fastMode ו-fastModeShimmer

כל סוכן משנה וכל משימה מקבילית מוצגים באחד משמונה צבעים בעלי שם, כדי שאפשר יהיה להבדיל ביניהם בתמליל. שמות האסימונים עוקבים אחרי התבנית <color>_FOR_SUBAGENTS_ONLY, כאשר <color> הוא red, blue, green, yellow, purple, orange, pink, או cyan. דרסו אותם כדי לשנות איך כל צבע בעל שם נראה. לדוגמה, סוכן משנה עם color: blue בהגדרה שלו מצויר באמצעות הערך blue_FOR_SUBAGENTS_ONLY.

כאשר ultrathink יכול להעלות את רמת המאמץ של תור, Claude Code מעבד את המילה בקלט ההנחיה עם מעבר צבע קשת של שבעה צבעים. שמות האסימונים עוקבים אחרי התבנית rainbow_<color> ו-rainbow_<color>_shimmer, כאשר <color> הוא red, orange, yellow, green, blue, indigo, או violet.

#מעבר לעיבוד מסך מלא

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

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

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

הריצו /tui fullscreen כדי לעבור ולשמור את ההעדפה. השיחה מופעלת מחדש בשלמותה, וסשנים עתידיים מתחילים במסך מלא אלא אם הפעלת מסך מלא נכשלת. אפשר גם להגדיר את משתנה הסביבה CLAUDE_CODE_NO_FLICKER לפני הפעלת Claude Code:

CLAUDE_CODE_NO_FLICKER=1 claude
$env:CLAUDE_CODE_NO_FLICKER = "1"; claude
{
  "env": {
    "CLAUDE_CODE_NO_FLICKER": "1"
  }
}

#הגבלת רוחב התשובה בטרמינלים רחבים

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

#הדבקת תוכן גדול

כשמדביקים יותר מ-800 תווים או יותר משלוש שורות לתוך ההנחיה, Claude Code מכווץ את הקלט למציין מיקום כמו [Pasted text #1 +120 lines] כדי שתיבת הקלט תישאר שמישה, ועדיין שולח את התוכן המלא כששולחים. לקלטים גדולים מאוד כמו קבצים שלמים או יומנים ארוכים, כתבו את התוכן לקובץ ובקשו מ-Claude לקרוא אותו במקום להדביק. תמליל השיחה נשאר קריא, ו-Claude יכול להתייחס לקובץ לפי נתיב בתורות מאוחרים יותר. הטרמינל המשולב של VS Code יכול גם להשמיט תווים מהדבקות גדולות מאוד לפני שהן מגיעות ל-Claude Code, אז השתמשו שם בקובץ.

אם ההדבקה נושאת תווי Unicode בלתי נראים, Claude Code מסיר אותם כשלוחצים Enter ומחזיר את ההנחיה המנוקה לתיבת הקלט כדי שתשלחו אותה בלחיצת Enter נוספת.

#איך Claude מתייחס לטקסט שהודבק

כששולחים, Claude רואה את התוכן שמאחורי כל מציין מיקום [Pasted text #N] כמסומן כטקסט שהדבקתם ממקום אחר ולא כטקסט שהקלדתם. ל-Claude נאמר שהדבקה יכולה להכיל הוראות שלא כתבתם, ושיפעל לפי הוראות שבתוכה רק במקום שבו ההודעה שהקלדתם מבקשת זאת. בסשנים שלא מושכים דגלי תכונה, הדבקות לא מסומנות.

#מחיקה ושחזור של הדבקה מכווצת

כשמוחקים עם קיצור של מילה או שורה כמו Ctrl+W או Ctrl+K, או עם מחיקת vim דרך תנועת f/t כמו df], והטווח שנמחק מגיע לתוך מציין מיקום [Pasted text #N], Claude Code מסיר את מציין המיקום כולו. כדי לשחזר אותו, הדביקו את המחיקה בחזרה עם Ctrl+Y אחרי קיצור של מילה או שורה, או עם p במצב NORMAL אחרי מחיקת vim.

#שליפה מחדש של הנחיה שהכילה טקסט שהודבק

Claude Code שומר את התוכן שמאחורי כל מציין מיקום [Pasted text #N] תחת ~/.claude/paste-cache/, כך שכששולפים הנחיה מהיסטוריית הפקודות ושולחים אותה שוב, התוכן המודבק המלא נשלח שוב, גם בסשן מאוחר יותר.

קבצי מטמון ישנים מ-cleanupPeriodDays נמחקים לפי כללי סריקת השמירה, כך שהנחיה שנשלפת מחדש יכולה להתייחס לטקסט מודבק שכבר לא קיים. כששולחים הנחיה כזאת, Claude Code אף פעם לא שולח את המחרוזת המילולית [Pasted text #N], ומציג התראה שמציינת את ההדבקה החסרה:

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

#עריכת הנחיות עם קיצורי מקשים של Vim

Claude Code כולל מצב עריכה בסגנון Vim עבור קלט ההנחיה. מפעילים אותו דרך /config, ואז Editor mode, או על ידי הגדרת editorMode ל-"vim" ב-~/.claude/settings.json. החזירו את Editor mode ל-normal כדי לכבות אותו.

מצב Vim תומך בתת קבוצה של תנועות ואופרטורים של מצבי NORMAL ו-VISUAL, כמו ניווט hjkl, בחירה v/V, ו-d/c/y עם אובייקטי טקסט. ראו את מדריך מצב עורך Vim לטבלת המקשים המלאה.

אי אפשר למפות מחדש תנועות Vim דרך קובץ ה-keybindings. כדי למפות רצף של שני מקשים במצב INSERT כמו jj ל-Escape, הגדירו vimInsertModeRemaps בהגדרות המשתמש.

לחיצה על Enter עדיין שולחת את ההנחיה במצב INSERT, בניגוד ל-Vim הרגיל. השתמשו ב-o או O במצב NORMAL, או Ctrl+J, כדי להוסיף שורה חדשה.

#משאבים קשורים