Tastaturkürzel anpassen
Passen Sie Tastaturkürzel in Claude Code mit einer Keybindings-Konfigurationsdatei an.
Claude Code unterstützt anpassbare Tastaturkürzel. Führen Sie /keybindings aus, um Ihre Konfigurationsdatei unter ~/.claude/keybindings.json zu erstellen oder zu öffnen.
Konfigurationsdatei
Die Keybindings-Konfigurationsdatei ist ein Objekt mit einem bindings-Array. Jeder Block gibt einen Kontext und eine Zuordnung von Tastenkombinationen zu Aktionen an.
[!NOTE]
Änderungen an der Keybindings-Datei werden automatisch erkannt und angewendet, ohne Claude Code neu zu starten.
| Feld | Beschreibung |
|---|---|
$schema |
Optionale JSON-Schema-URL für Editor-Autovervollständigung |
$docs |
Optionale Dokumentations-URL |
bindings |
Array von Binding-Blöcken nach Kontext |
Dieses Beispiel bindet Ctrl+E zum Öffnen eines externen Editors im Chat-Kontext und hebt die Bindung von Ctrl+S auf:
{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"$docs": "https://code.claude.com/docs/en/keybindings",
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+e": "chat:externalEditor",
"ctrl+s": null
}
}
]
}
Kontexte
Jeder Bindungsblock gibt einen Kontext an, in dem die Bindungen gelten:
| Kontext | Beschreibung |
|---|---|
Global |
Gilt überall in der App |
Chat |
Haupteingabebereich des Chats |
Autocomplete |
Das Menü für die automatische Vervollständigung ist geöffnet |
Settings |
Einstellungsmenü |
Confirmation |
Berechtigungs- und Bestätigungsdialoge |
Tabs |
Komponenten für die Tab-Navigation |
Help |
Das Hilfemenü ist sichtbar |
Transcript |
Transkript-Ansicht |
HistorySearch |
Modus für die Verlaufssuche (Ctrl+R) |
Task |
Eine Aufgabe wird im Vordergrund ausgeführt |
ThemePicker |
Dialog zur Theme-Auswahl |
Attachments |
Navigation durch Bildanhänge in Auswahldialogen |
Footer |
Navigation durch Indikatoren in der Fußzeile (Aufgaben, Teams, Diff, Artefakte) |
MessageSelector |
Nachrichtenauswahl im Dialog zum Zurückspulen und Zusammenfassen |
DiffDialog |
Navigation in der Diff-Ansicht |
DiffPanel |
Das Diff-Panel ist geöffnet |
ModelPicker |
Effort-Stufe in der Modellauswahl |
EffortSlider |
Effort-Schieberegler, der mit /effort geöffnet wird |
Select |
Generische Auswahl-/Listenkomponenten |
Plugin |
Plugin-Dialog (durchsuchen, entdecken, verwalten) |
AbovePrompt |
Der Bereich über dem Prompt oder eine Schaltfläche darin hat den Tastaturfokus |
AbovePromptInput |
Ein Eingabefeld im Bereich über dem Prompt oder im Bereich eines Mods hat den Tastaturfokus |
AbovePromptSelect |
Eine Auswahl im Bereich über dem Prompt oder im Bereich eines Mods hat den Tastaturfokus |
Pane |
Ein von einem Mod gezeichneter Bereich hat den Tastaturfokus |
PaneField |
Ein Eingabefeld oder eine Auswahl im Bereich eines Mods hat den Tastaturfokus |
Agents |
Agentenansicht (claude agents) |
Scroll |
Scrollen in der Konversation und Textauswahl im Vollbildmodus |
Vor v2.1.205 gab es für den Diagnosebildschirm von /doctor einen Doctor-Kontext und eine doctor:fix-Aktion.
Verfügbare Aktionen
Aktionen folgen dem Format namespace:action, beispielsweise chat:submit zum Senden einer Nachricht oder app:toggleTodos zum Anzeigen der Aufgabenliste. Jeder Kontext verfügt über spezifische verfügbare Aktionen.
App-Aktionen
Im Kontext Global verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
app:interrupt |
Ctrl+C | Aktuellen Vorgang abbrechen |
app:exit |
Ctrl+D | Claude Code beenden. Zum Bestätigen innerhalb von 800 ms zweimal drücken |
app:redraw |
(nicht belegt) | Neuzeichnen des Terminals erzwingen |
app:toggleTodos |
Ctrl+T | Sichtbarkeit von Claudes To-do-Checkliste umschalten. Dies ist nicht die Ansicht für Hintergrundaufgaben von /tasks |
app:toggleTranscript |
Ctrl+O | Ausführliches Transkript umschalten |
Verlaufsaktionen
Aktionen zum Navigieren im Befehlsverlauf:
| Aktion | Standard | Beschreibung |
|---|---|---|
history:search |
Ctrl+R | Verlaufssuche öffnen |
history:previous |
Up | Vorheriger Verlaufseintrag |
history:next |
Down | Nächster Verlaufseintrag |
Chat-Aktionen
Im Kontext Chat verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
chat:cancel |
Escape | Aktuelle Eingabe abbrechen |
chat:clearInput |
Ctrl+L | Vollständiges Neuzeichnen des Bildschirms erzwingen, wobei Eingabe und Konversation erhalten bleiben |
chat:clearScreen |
Cmd+K | Wie chat:clearInput. Unter Konversation leeren erfahren Sie, wie sich Cmd+K in iTerm2 und Terminal.app verhält |
chat:killAgents |
Ctrl+X Ctrl+K | Alle laufenden Hintergrund-Subagenten in dieser Sitzung stoppen und automatische Antworten auf Artefakte für den Rest der Sitzung ausschalten. Drücken Sie die Tastenkombination zum Bestätigen innerhalb von 3 Sekunden zweimal. Sie können sie drücken, während die Berechtigungsabfrage eines Hintergrund-Subagenten geöffnet ist |
chat:cycleMode |
Shift+Tab* | Berechtigungsmodi durchschalten |
chat:modelPicker |
Meta+P | Modellauswahl öffnen |
chat:fastMode |
Meta+O | Fast-Modus umschalten |
chat:thinkingToggle |
Meta+T | Extended Thinking umschalten |
chat:submit |
Enter | Nachricht senden |
chat:queueSubmit |
Ctrl+X Enter | Die Nachricht senden, markiert als wartend, bis sie an der Reihe ist: Während Claude arbeitet, reiht Claude Code sie in die Warteschlange ein und unterbricht den Turn nie. Anders als chat:submit sendet diese Aktion den Entwurf auch dann, wenn ein Vorschlag der Autovervollständigung hervorgehoben ist. Erfordert v2.1.247 oder höher |
chat:sendNow |
Ctrl+Enter, Ctrl+X Ctrl+S | Ihre Nachrichten in der Warteschlange und Ihren Entwurf sofort senden. Wann Claude Code die Nachrichten in der Warteschlange sendet beschreibt, was mit dem Turn geschieht, an dem Claude gerade arbeitet. Wenn nichts läuft, sendet die Taste den Entwurf, und im Shell-Modus reiht sie den Befehl nur in die Warteschlange ein. Terminals, die erweiterte Tasten nicht melden, liefern Ctrl+Enter als einfaches Enter, daher ist Ctrl+X Ctrl+S die Belegung, die in jedem Terminal funktioniert. Erfordert v2.1.275 oder höher |
chat:newline |
Ctrl+J | Einen Zeilenumbruch einfügen, ohne zu senden |
chat:undo |
Ctrl+_, Ctrl+Shift+- | Letzte Aktion rückgängig machen |
chat:externalEditor |
Ctrl+G, Ctrl+X Ctrl+E | Im externen Editor öffnen. Die Dispatch-Eingabe der Agentenansicht folgt ebenfalls den Einzeltasten-Belegungen dieser Aktion |
chat:stash |
Ctrl+S | Aktuellen Prompt zurückstellen |
chat:imagePaste |
Ctrl+V (Alt+V unter Windows und WSL) | Bild aus der Zwischenablage einfügen. Unter WSL sind standardmäßig beide Tastenkombinationen belegt |
command:<name> |
(nicht belegt) | Den Befehl /<name> ausführen. Beispielsweise bewirkt "meta+g": "command:compact" in einem Chat-Block, dass Meta+G den Befehl /compact ausführt |
*Unter Windows ohne VT-Modus (Node <24.2.0/<22.17.0, Bun <1.2.23) lautet der Standard Meta+M.
Autovervollständigungsaktionen
Im Kontext Autocomplete verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
autocomplete:accept |
Tab | Vorschlag annehmen |
autocomplete:dismiss |
Escape | Menü schließen |
autocomplete:previous |
Up | Vorheriger Vorschlag |
autocomplete:next |
Down | Nächster Vorschlag |
Bestätigungsaktionen
Im Kontext Confirmation verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
confirm:yes |
Enter | Aktion bestätigen |
confirm:no |
Escape | Aktion ablehnen |
confirm:previous |
Up | Vorherige Option |
confirm:next |
Down | Nächste Option |
confirm:nextField |
Tab | Im Dialog /fast den Fast-Modus ein- oder ausschalten |
confirm:previousField |
(nicht belegt) | Claude Code reagiert nicht auf diese Aktion, und eine keybindings.json, die sie nennt, bleibt gültig |
confirm:toggle |
Space | Auswahl umschalten |
confirm:cycleMode |
Shift+Tab* | Schließt bei einer Berechtigungsabfrage für Dateien ein geöffnetes Kommentarfeld; ist kein Feld geöffnet, wird die Option ausgewählt, die die Aktion für den Rest der Sitzung erlaubt, sofern die Abfrage diese Option anbietet |
*Unter Windows ohne VT-Modus (Node <24.2.0/<22.17.0, Bun <1.2.23) lautet der Standard Meta+M.
Vor v2.1.257 zeigte eine Aktion confirm:toggleExplanation, standardmäßig mit Ctrl+E belegt, bei Berechtigungsabfragen für Bash und PowerShell eine vom Modell generierte Erklärung des Befehls an.
Dialoge verwenden confirm:yes und confirm:no zum Annehmen und Abbrechen, auch wenn sie keine Ja-oder-Nein-Frage stellen. Wenn Sie in diesem Kontext einen einzelnen Buchstaben wie y oder n belegen, wirkt der Buchstabe auch in Dialogen, die ihn nie als Taste anzeigen. Ein Dialog, der y und n als seine Tasten anzeigt, liest diese Buchstaben selbst aus und benötigt keine Belegung.
In den meisten Dialogen schließt zweimaliges Drücken von Ctrl+C oder Ctrl+D den Dialog, anstatt Claude Code zu beenden. Der Hinweis nach dem ersten Drücken gibt an, ob das zweite Drücken den Dialog schließt oder Claude Code beendet. Beide Tasten sind reserviert und können nicht neu belegt werden.
Dieses Beispiel belegt y mit confirm:yes und n mit confirm:no:
{
"bindings": [
{
"context": "Confirmation",
"bindings": {
"y": "confirm:yes",
"n": "confirm:no"
}
}
]
}
Mit diesen Belegungen geben y und n weiterhin Buchstaben ein, während ein Textfeld den Fokus hat.
Vor v2.1.280 war y standardmäßig auch mit confirm:yes und n mit confirm:no belegt. Wenn Sie Ihre keybindings.json vor v2.1.280 mit /keybindings erstellt haben, listet die Datei beide Belegungen auf, und sie bleiben wirksam, bis Sie diese beiden Zeilen löschen.
Berechtigungsaktionen
Im Kontext Confirmation für Berechtigungsdialoge verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
permission:toggleDebug |
(nicht belegt) | Claude Code reagiert nicht auf diese Aktion, und eine keybindings.json, die sie nennt, bleibt gültig |
Transkript-Aktionen
Im Kontext Transcript verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
transcript:toggleShowAll |
Ctrl+E | Anzeige aller Inhalte umschalten |
transcript:exit |
q, Ctrl+C, Escape | Transkriptansicht verlassen |
transcript:toggleShowAll gilt nur im klassischen Renderer; im Vollbild-Rendering bietet der Transkript-Viewer keinen Schalter zum Anzeigen aller Inhalte.
Aktionen der Verlaufssuche
Im Kontext HistorySearch verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
historySearch:next |
Ctrl+R | Nächster Treffer |
historySearch:accept |
Escape, Tab | Auswahl übernehmen |
historySearch:cancel |
Ctrl+C | Suche abbrechen |
historySearch:execute |
Enter | Ausgewählten Befehl ausführen |
historySearch:cycleScope |
Ctrl+S | Bereich durchschalten: Sitzung, Projekt, überall |
Die Standardbelegungen von historySearch:next, historySearch:accept, historySearch:cancel und historySearch:execute gelten für die Inline-Verlaufssuche im klassischen Renderer, die immer Prompts aus allen Projekten durchsucht. historySearch:cycleScope wirkt nur im Vollbild-Rendering, wo Ctrl+R stattdessen einen Suchdialog öffnet und Ctrl+S dessen Bereich durchschaltet. Die übrigen Tasten des Dialogs sind fest und können nicht neu belegt werden: Enter oder Tab übernimmt den hervorgehobenen Treffer in die Prompt-Eingabe, und Esc bricht ab.
Aufgabenaktionen
Im Kontext Task verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
task:background |
Ctrl+B, Ctrl+X Ctrl+B | Aktuelle Aufgabe in den Hintergrund verschieben |
Theme-Aktionen
Im Kontext ThemePicker verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
theme:toggleSyntaxHighlighting |
Ctrl+T | Syntaxhervorhebung umschalten |
Hilfeaktionen
Im Kontext Help verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
help:dismiss |
Escape | Hilfemenü schließen |
Tab-Aktionen
Im Kontext Tabs verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
tabs:next |
Tab, Right | Nächster Tab |
tabs:previous |
Shift+Tab, Left | Vorheriger Tab |
In einem Dialog mit Tabs wechseln tabs:next und tabs:previous die Tabs, während die Tab-Leiste den Fokus hat. In einigen Dialogen, etwa /help und /sandbox, funktionieren die Tasten zum Wechseln der Tabs auch innerhalb des Tab-Inhalts.
Up und Down verschieben den Fokus zwischen der Tab-Leiste und dem Tab-Inhalt, und eine Liste im Inhalt reagiert nur auf Tasten, solange sie den Fokus hat.
Anhangsaktionen
Im Kontext Attachments verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
attachments:next |
Right | Nächster Anhang |
attachments:previous |
Left | Vorheriger Anhang |
attachments:remove |
Backspace, Delete | Ausgewählten Anhang entfernen |
attachments:exit |
Down, Escape | Anhangsnavigation verlassen |
Fußzeilenaktionen
Im Kontext Footer verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
footer:next |
Right | Nächstes Fußzeilenelement |
footer:previous |
Left | Vorheriges Fußzeilenelement |
footer:up |
Up, Ctrl+P | In der Fußzeile nach oben navigieren (hebt die Auswahl oben auf) |
footer:down |
Down, Ctrl+N | In der Fußzeile nach unten navigieren |
footer:openSelected |
Enter | Ausgewähltes Fußzeilenelement öffnen |
footer:clearSelection |
Escape | Fußzeilenauswahl aufheben |
footer:close |
x | Den ausgewählten Agenten oder Workflow stoppen oder seine Zeile ausblenden, wenn er nicht mehr läuft |
footer:dismiss |
(nicht belegt) | Eine Tastenbelegung für diese Aktion hat keine Wirkung, und eine keybindings.json, die sie nennt, bleibt gültig. Vor v2.1.281 waren Backspace und Delete mit ihr belegt und blendeten den ausgewählten Artefakt-Link aus der Fußzeile aus. |
Während ein Fußzeilenelement ausgewählt ist, etwa eine Zeile im Agentenbereich unterhalb des Prompts, öffnet Enter es auch dann, wenn Sie Enter im Kontext Chat mit chat:queueSubmit oder chat:newline neu belegen.
Chat-Belegungen auf Tasten, die der Kontext Footer nicht belegt, etwa Shift+Tab für chat:cycleMode, funktionieren weiterhin, während ein Element ausgewählt ist.
Aktionen der Nachrichtenauswahl
In der Nachrichtenliste des Rewind-Menüs bewegen Sie sich mit den Select-Aktionen und deren Standardtasten durch die Nachrichten und wählen eine aus. Ihre Select-Belegungen für diese Aktionen gelten dort ebenfalls. Der Kontext MessageSelector hat keine eigenen Aktionen oder Standardbelegungen. Verwenden Sie ihn, um eine Taste nur für diese Liste zu ändern, indem Sie eine Select-Aktion wie select:accept in einem MessageSelector-Block belegen.
Dieses Beispiel belegt o so, dass die hervorgehobene Nachricht im Rewind-Menü ausgewählt wird, ohne eine andere Liste zu ändern:
{
"bindings": [
{
"context": "MessageSelector",
"bindings": {
"o": "select:accept"
}
}
]
}
Vor v2.1.283 ignorierte diese Liste Select-Belegungen und hatte eigene Aktionen: messageSelector:up, messageSelector:down, messageSelector:top, messageSelector:bottom und messageSelector:select. Wenn Ihre keybindings.json einen dieser Namen belegt, funktioniert die Belegung in dieser Liste weiterhin als die Select-Aktion, die dasselbe bewirkt. Home und End springen an das jeweilige Ende der Liste; vor v2.1.283 taten dies standardmäßig Tasten wie Shift+K und Shift+J.
Diff-Aktionen
Diese Aktionen wirken nur im früheren Diff-Viewer von Claude Code, den /diff außerhalb des Vollbild-Renderings öffnet, nachdem Sie den Mod cc-plugin-diff in /plugin deaktiviert haben. Solange dieser Mod aktiviert ist, öffnet /diff stattdessen den Diff-Dialog. Eine keybindings.json, die diese Aktionen nennt, wird in beiden Fällen fehlerfrei geladen.
Im Kontext DiffDialog verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
diff:dismiss |
Escape | Diff-Viewer schließen; aus der Detailansicht wird stattdessen zur Dateiliste zurückgekehrt |
diff:previousSource |
Left | Vorherige Diff-Quelle |
diff:nextSource |
Right | Nächste Diff-Quelle |
diff:previousFile |
Up, K | Vorherige Datei in der Dateiliste; in der Detailansicht eine Zeile nach oben scrollen |
diff:nextFile |
Down, J | Nächste Datei in der Dateiliste; in der Detailansicht eine Zeile nach unten scrollen |
diff:back |
(nicht belegt) | Im Diff-Viewer zurückgehen. Escape führt die Zurück-Aktion über diff:dismiss aus. Die frühere Standardbelegung Left in der Detailansicht wurde in v2.1.203 entfernt |
Die Dateiliste reagiert auch auf die Select-Aktionen, über deren Standardtasten und Ihre Select-Belegungen. select:previous und select:next wechseln zur vorherigen bzw. nächsten Datei, und Enter öffnet den Diff der ausgewählten Datei über select:accept. Um eine dieser Tasten nur für die Dateiliste zu ändern, belegen Sie die Select-Aktion in einem DiffDialog-Block.
Vor v2.1.283 ignorierte die Dateiliste Select-Belegungen, und Enter öffnete den Diff der ausgewählten Datei über eine separate Aktion diff:viewDetails. Wenn Ihre keybindings.json diff:viewDetails belegt, funktioniert die Belegung in der Dateiliste weiterhin als select:accept.
Die Diff-Detailansicht belegt außerdem Pager-typische Tasten mit den standardmäßigen Scroll-Aktionen. Diese Belegungen gehören zum Kontext DiffDialog und gelten nur in der Detailansicht; die unter Scroll-Aktionen aufgeführten Standardbelegungen des Kontexts Scroll bleiben unverändert.
| Aktion | Standard | Beschreibung |
|---|---|---|
scroll:pageUp |
PageUp | Einen halben Anzeigebereich nach oben scrollen |
scroll:pageDown |
PageDown | Einen halben Anzeigebereich nach unten scrollen |
scroll:fullPageUp |
Shift+Space, B | Einen ganzen Anzeigebereich nach oben scrollen |
scroll:fullPageDown |
Space | Einen ganzen Anzeigebereich nach unten scrollen |
scroll:top |
G, Home | Zum Anfang springen |
scroll:bottom |
Shift+G, End | Zum Ende springen |
Aktionen des Diff-Bereichs
Aktionen für den Diff-Bereich, den /diff im Vollbild-Rendering öffnet. app:cycleDiffBase gehört zum Kontext DiffPanel, der aktiv ist, solange der Bereich geöffnet ist; die übrigen gehören zu Global.
Der integrierte Mod cc-plugin-diff zeichnet diesen Bereich und verarbeitet app:cycleDiffBase, app:diffFileListUp und app:diffFileListDown. app:toggleReplTab, app:toggleDiffNoiseFilter und app:toggleDiffPreSession wirken nur im früheren Bereich von Claude Code, den /diff öffnet, nachdem Sie cc-plugin-diff in /plugin deaktiviert haben.
| Aktion | Standard | Beschreibung |
|---|---|---|
app:toggleReplTab |
(nicht belegt) | Diff-Bereich öffnen oder schließen |
app:cycleDiffBase |
Ctrl+X B | Vergleichsbasis des Bereichs durchschalten: diese Sitzung, nicht committet, dann Branch |
app:diffFileListUp |
Ctrl+Up, Meta+Up | Dateiliste des Bereichs nach oben scrollen, wenn sie überläuft |
app:diffFileListDown |
Ctrl+Down, Meta+Down | Dateiliste des Bereichs nach unten scrollen, wenn sie überläuft |
app:toggleDiffNoiseFilter |
(nicht belegt) | Test- und generierte Dateien im Bereich ein- oder ausblenden |
app:toggleDiffPreSession |
(nicht belegt) | Die Änderungen aus der Zeit vor dieser Sitzung auf- oder zuklappen |
Aktionen der Modellauswahl
Im Kontext ModelPicker verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
modelPicker:decreaseEffort |
Left | Effort-Stufe verringern |
modelPicker:increaseEffort |
Right | Effort-Stufe erhöhen |
modelPicker:thisSessionOnly |
s | Hervorgehobenes Modell nur auf diese Sitzung anwenden |
Aktionen des Effort-Schiebereglers
Im Kontext EffortSlider verfügbare Aktionen, also im Schieberegler, der sich öffnet, wenn Sie /effort ohne Argumente ausführen. Die Tasten Enter und Escape des Schiebereglers können nicht neu belegt werden.
| Aktion | Standard | Beschreibung |
|---|---|---|
effortSlider:decreaseEffort |
Left | Den Schieberegler auf die nächstniedrigere Effort-Stufe setzen. Erfordert v2.1.284 oder höher |
effortSlider:increaseEffort |
Right | Den Schieberegler auf die nächsthöhere Effort-Stufe setzen. Erfordert v2.1.284 oder höher |
effortSlider:toggleUltracode |
Tab | Ultracode für diese Sitzung ein- oder ausschalten, wenn der Schieberegler es anbietet. Erfordert v2.1.284 oder höher |
effortSlider:thisSessionOnly |
s | Die fokussierte Effort-Stufe nur auf diese Sitzung anwenden. Erfordert v2.1.257 oder höher |
Select-Aktionen
Im Kontext Select verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
select:next |
Down, J, Ctrl+N | Nächste Option |
select:previous |
Up, K, Ctrl+P | Vorherige Option |
select:pageUp |
PageUp | Eine Seite Optionen nach oben |
select:pageDown |
PageDown | Eine Seite Optionen nach unten |
select:first |
Home | Erste Option |
select:last |
End | Letzte Option |
select:accept |
Enter | Auswahl übernehmen |
select:cancel |
Escape | Auswahl abbrechen |
In Listenbereichen wie /skills, /mcp und /tasks wendet Claude Code Ihre Belegungen für select:pageUp, select:pageDown, select:first und select:last an. In den meisten anderen Listen, etwa der Modellauswahl /model, gelten Ihre Belegungen für select:first und select:last. PageUp und PageDown blättern in diesen Listen unabhängig von Ihren Belegungen durch die Optionen.
Vor v2.1.280 ignorierten diese anderen Listen Home, End sowie Ihre Belegungen für select:first und select:last.
Vor v2.1.283 blätterte die Tool-Liste von /mcp unabhängig von Ihren Belegungen mit fest zugeordneten Tasten PageUp und PageDown.
Plugin-Aktionen
Im Kontext Plugin verfügbare Aktionen:
| Aktion | Standard | Beschreibung |
|---|---|---|
plugin:toggle |
Space | Plugin-Auswahl umschalten |
plugin:install |
I | Ausgewählte Plugins installieren |
plugin:favorite |
F | Das ausgewählte Plugin als Favorit markieren, sodass es im Tab „Installed“ weit oben einsortiert wird |
Aktionen oberhalb des Prompts
Aktionen für das Band oberhalb des Prompts, den gemeinsamen Streifen, in dem Mods Schaltflächen, Eingabefelder und Auswahllisten zeichnen. abovePrompt:toggle und abovePrompt:focus gelten im Kontext Chat. Die übrigen Aktionen gelten im Kontext dessen, was im Band oder in einem Bereich den Tastaturfokus hat.
| Aktion | Standard | Beschreibung |
|---|---|---|
abovePrompt:toggle |
Ctrl+X Ctrl+A | Das Band auf einen einzeiligen Hinweis reduzieren oder wieder ausklappen |
abovePrompt:focus |
Ctrl+X Tab | Den Tastaturfokus in das Band verschieben, dann in jeden geöffneten Bereich und vom letzten Bereich zurück zum Prompt |
abovePrompt:next |
Tab | Das nächste Steuerelement fokussieren |
abovePrompt:previous |
Shift+Tab | Das vorherige Steuerelement fokussieren |
abovePrompt:press |
Enter | Die fokussierte Schaltfläche drücken, das fokussierte Eingabefeld absenden oder die hervorgehobene Option in einer Auswahlliste wählen |
abovePrompt:leave |
Escape | Den Tastaturfokus an den Prompt zurückgeben |
abovePrompt:highlightNext |
Down | Die nächste Option in einer fokussierten Auswahlliste hervorheben |
abovePrompt:highlightPrevious |
Up | Die vorherige Option in einer fokussierten Auswahlliste hervorheben |
Im Kontext AbovePrompt führen Right und Left standardmäßig ebenfalls abovePrompt:next und abovePrompt:previous aus, und Space führt ebenfalls abovePrompt:press aus.
Der Kontext AbovePrompt belegt außerdem Up, Down, PageUp, PageDown, Home und End mit den Scroll-Aktionen für Bereiche pane:scrollUp bis pane:bottom. Um eine dieser Tasten für das Band zu ändern, belegen Sie daher die Scroll-Aktion in einem AbovePrompt-Block.
Bereichsaktionen
Aktionen für einen Bereich, der von einem Mod gezeichnet wird. Die Aktionen zum Scrollen, Ändern der Größe und Schließen gelten im Kontext Pane. pane:close gilt auch im Kontext PaneField und funktioniert daher, während eines der Felder des Bereichs den Fokus hat. pane:next und pane:previous gelten im Kontext Global, solange mehr als ein Bereich geöffnet ist.
| Aktion | Standard | Beschreibung |
|---|---|---|
pane:scrollUp |
Up | Den Bereich nach oben scrollen, wenn er mehr Zeilen hat, als er anzeigen kann |
pane:scrollDown |
Down | Den Bereich nach unten scrollen, wenn er mehr Zeilen hat, als er anzeigen kann |
pane:pageUp |
PageUp | Den Bereich eine Seite nach oben scrollen |
pane:pageDown |
PageDown | Den Bereich eine Seite nach unten scrollen |
pane:top |
Home | Zum Anfang des Bereichs springen |
pane:bottom |
End | Zum Ende des Bereichs springen |
pane:grow |
Ctrl+X Left, Ctrl+X Up | Dem Bereich mehr Platz geben: Breite, wenn er neben dem Transkript liegt, Höhe, wenn er über dem Prompt liegt |
pane:shrink |
Ctrl+X Right, Ctrl+X Down | Dem Bereich weniger Platz geben: Breite, wenn er neben dem Transkript liegt, Höhe, wenn er über dem Prompt liegt |
pane:close |
Ctrl+X X | Den Bereich schließen |
pane:next |
(nicht belegt) | Den nächsten geöffneten Bereich anzeigen |
pane:previous |
(nicht belegt) | Den vorherigen geöffneten Bereich anzeigen |
Der Kontext Pane belegt außerdem Tab, Shift+Tab, Enter und Escape mit denselben Aktionen oberhalb des Prompts wie das Band, und die Eingabefelder und Auswahllisten eines Bereichs verwenden die Kontexte AbovePromptInput und AbovePromptSelect. Unter Tastaturfokus und Hotkeys ist aufgeführt, was jede Taste in einem Bereich bewirkt.
Einstellungsaktionen
Im Kontext Settings verfügbare Aktionen. Die Aktionen select:accept und confirm:no werden aus den Kontexten Select und Confirmation mit einstellungsspezifischem Verhalten wiederverwendet: Änderungen werden auf jede Einstellung angewendet, sobald Sie sie ändern, sodass Escape den Bereich schließt und Ihre Änderungen gespeichert bleiben, statt sie abzulehnen.
| Aktion | Standard | Beschreibung |
|---|---|---|
settings:search |
/ | Suchmodus aufrufen |
settings:retry |
R | Laden der Nutzungsdaten bei einem Fehler erneut versuchen |
settings:fixUsage |
F | Ihrer Sitzung die /usage-Empfehlungen senden, die Claude Code anwenden kann, wenn die Fußzeile von /usage eine Korrektur anbietet. Erfordert v2.1.305 oder höher |
select:accept |
Enter, Space | Die ausgewählte Einstellung ändern oder ihr Untermenü öffnen |
confirm:no |
Escape | Den Bereich schließen. Änderungen sind bereits gespeichert |
Agentenaktionen
Im Kontext Agents verfügbare Aktionen, der in der Agentenansicht gilt, die mit claude agents geöffnet wird. Erfordert v2.1.257 oder höher.
| Aktion | Standard | Beschreibung |
|---|---|---|
agents:switchView |
Ctrl+S | Sitzungsgruppierung zwischen Status und Verzeichnis wechseln |
agents:togglePin |
Ctrl+T | Die ausgewählte Sitzung anheften oder lösen |
agents:find |
Ctrl+F | Sitzungen nach Namen suchen, mit dem Filter n:. Erfordert v2.1.288 oder höher |
agents:rename |
Ctrl+R | Die ausgewählte Sitzung umbenennen. Erfordert v2.1.288 oder höher |
agents:previousGroup |
Ctrl+Up, Meta+Up | Zur vorherigen Gruppenüberschrift springen. Erfordert v2.1.288 oder höher |
agents:nextGroup |
Ctrl+Down, Meta+Down | Zur nächsten Gruppenüberschrift springen. Erfordert v2.1.288 oder höher |
Solange die Agentenansicht geöffnet ist, verwendet Claude Code für jede Taste, die der Kontext Agents belegt, die Agents-Belegung und ignoriert eine Chat- oder Global-Belegung derselben Taste. Beispielsweise wechselt das Drücken von Ctrl+S in der Agentenansicht die Sitzungsgruppierung, statt das standardmäßige chat:stash auszulösen.
Die Tastenkombination für den externen Editor in der Dispatch-Eingabe ist keine Agents-Aktion. Die Agentenansicht folgt der Belegung von chat:externalEditor im Kontext Chat, standardmäßig Ctrl+G.
Belegungen werden in der Agentenansicht bei einzelnen Tastenanschlägen ausgelöst, daher öffnet die mit chat:externalEditor belegte Tastenfolge Ctrl+X Ctrl+E dort den Editor nicht.
Sprachaktionen
Im Kontext Chat verfügbare Aktionen, wenn Sprachdiktat aktiviert ist:
| Aktion | Standard | Beschreibung |
|---|---|---|
voice:pushToTalk |
Space | Einen Prompt diktieren. Je nach /voice-Modus gedrückt halten oder antippen |
Scroll-Aktionen
Im Kontext Scroll verfügbare Aktionen, wenn Vollbild-Rendering aktiviert ist:
| Aktion | Standard | Beschreibung |
|---|---|---|
scroll:lineUp |
wheelup |
Eine Zeile nach oben scrollen. Scrollen mit dem Mausrad löst diese Aktion aus |
scroll:lineDown |
wheeldown |
Eine Zeile nach unten scrollen. Scrollen mit dem Mausrad löst diese Aktion aus |
scroll:pageUp |
PageUp | Um die halbe Höhe des Anzeigebereichs nach oben scrollen |
scroll:pageDown |
PageDown | Um die halbe Höhe des Anzeigebereichs nach unten scrollen |
scroll:top |
Ctrl+Home | Zum Anfang der Konversation springen |
scroll:bottom |
Ctrl+End | Zur neuesten Nachricht springen und automatisches Mitverfolgen wieder aktivieren |
scroll:halfPageUp |
(nicht belegt) | Um die halbe Höhe des Anzeigebereichs nach oben scrollen. Gleiches Verhalten wie scroll:pageUp, bereitgestellt für Belegungen im vi-Stil |
scroll:halfPageDown |
(nicht belegt) | Um die halbe Höhe des Anzeigebereichs nach unten scrollen. Gleiches Verhalten wie scroll:pageDown, bereitgestellt für Belegungen im vi-Stil |
scroll:fullPageUp |
(nicht belegt) | Um die volle Höhe des Anzeigebereichs nach oben scrollen |
scroll:fullPageDown |
(nicht belegt) | Um die volle Höhe des Anzeigebereichs nach unten scrollen |
selection:copy |
Ctrl+Shift+C / Cmd+C | Den ausgewählten Text in die Zwischenablage kopieren |
selection:clear |
(nicht belegt) | Die aktive Textauswahl aufheben. Erfordert v2.1.234 oder höher |
selection:extendLeft |
Shift+Left | Die aktive Auswahl um eine Spalte nach links erweitern |
selection:extendRight |
Shift+Right | Die aktive Auswahl um eine Spalte nach rechts erweitern |
selection:extendUp |
Shift+Up | Die aktive Auswahl um eine Zeile nach oben erweitern. Scrollt den Anzeigebereich, wenn die Auswahl den oberen Rand erreicht |
selection:extendDown |
Shift+Down | Die aktive Auswahl um eine Zeile nach unten erweitern. Scrollt den Anzeigebereich, wenn die Auswahl den unteren Rand erreicht |
selection:extendLineStart |
Shift+Home | Die aktive Auswahl bis zum Zeilenanfang erweitern |
selection:extendLineEnd |
Shift+End | Die aktive Auswahl bis zum Zeilenende erweitern |
Syntax für Tastenanschläge
Modifikatortasten
Verwenden Sie Modifikatortasten mit dem Trennzeichen +:
ctrlodercontrol- Control-Tasteshift- Shift-Tastealt,opt,optionodermeta- Alt-Taste unter Windows und Linux, Option-Taste unter macOScmd,command,superoderwin- Command-Taste unter macOS, Windows-Taste unter Windows, Super-Taste unter Linux
Die cmd-Gruppe wird nur in Terminals erkannt, die den Super-Modifikator melden, etwa in Terminals, die das Kitty-Tastaturprotokoll oder den modifyOtherKeys-Modus von xterm unterstützen. Die meisten Terminals senden ihn nicht. Verwenden Sie daher ctrl oder meta für Tastenbelegungen, die überall funktionieren sollen.
Zum Beispiel:
ctrl+k Ctrl + K
shift+tab Shift + Tab
meta+p Option + P unter macOS, sonst Alt + P
ctrl+shift+c Mehrere Modifikatoren
Großbuchstaben
Claude Code wertet Tastennamen ohne Berücksichtigung der Groß- und Kleinschreibung aus, sodass K dieselbe Tastenbelegung ist wie k und ctrl+K dasselbe ist wie ctrl+k. Um Shift und einen Buchstaben zu belegen, schreiben Sie shift+k.
Nicht-US-Tastaturlayouts
Schreiben Sie die Tastennamen von Ctrl-Tastenkombinationen als lateinische Zeichen, auch wenn Ihr aktives Tastaturlayout andere Zeichen eingibt.
Wie Claude Code die gedrückte Taste einer Tastenbelegung zuordnet, hängt von der Art des Layouts ab:
- Bei einem nicht-lateinischen Layout wie Kyrillisch ordnet Claude Code Ctrl-Tastenkombinationen anhand der Position der Taste im US-Layout zu, wenn das Terminal das Kitty-Tastaturprotokoll verwendet und diese Position meldet. In einem solchen Terminal löst bei aktivem russischem Layout das Drücken von Ctrl und der physischen W-Taste
ctrl+waus. In einem Terminal, das die Position nicht meldet, ordnet Claude Code das zu, was das Terminal für den Tastendruck sendet: Ein ASCII-Steuercode löst die lateinische Tastenkombination aus, und ein Tastendruck, der als kyrillisches Zeichen ankommt, entspricht keiner Tastenbelegung - Bei Layouts, die lateinische Buchstaben anders anordnen, wie etwa AZERTY, ordnet Claude Code den Buchstaben zu, den die Taste eingibt, sodass das Drücken von Ctrl und der mit A beschrifteten Taste
ctrl+aauslöst
Akkorde
Akkorde sind Folgen von Tastenanschlägen, die durch Leerzeichen getrennt sind:
ctrl+k ctrl+s Ctrl+K drücken, loslassen, dann Ctrl+S
Drücken Sie jeden Tastenanschlag innerhalb von 3 Sekunden nach dem vorherigen. Wenn Sie länger warten, bricht Claude Code den Akkord ab und zeigt einen kurzen entsprechenden Hinweis an.
Sondertasten
escapeoderesc- Escape-Tasteenteroderreturn- Enter-Tastetab- Tab-Tastespace- Leertasteup,down,left,right- Pfeiltastenpageup,pagedown- Page-Up- und Page-Down-Tastenhome,end- Home- und End-Tastenbackspace,delete- Löschtastenwheelup,wheeldown- Scroll-Ereignisse des Mausrads
Standardkürzel aufheben
Setzen Sie eine Aktion auf null, um ein Standardkürzel aufzuheben:
{
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+s": null
}
}
]
}
Dies funktioniert auch für Akkord-Bindings. Das Aufheben aller Akkorde, die ein Präfix teilen, gibt dieses Präfix für die Verwendung als Single-Key-Binding frei. Ein Akkord in einem beliebigen aktiven Kontext behält sein Präfix reserviert, daher müssen Sie jeden Akkord in dem Kontext aufheben, der ihn definiert.
Claude Code bindet diese Standard-Akkorde auf dem ctrl+x-Präfix, nach Kontext:
Chat:ctrl+x ctrl+k,ctrl+x ctrl+e,ctrl+x enter,ctrl+x ctrl+a,ctrl+x ctrl+sundctrl+x tabTask:ctrl+x ctrl+bDiffPanel:ctrl+x bPane:ctrl+x left,ctrl+x right,ctrl+x up,ctrl+x downundctrl+x xPaneField:ctrl+x x
Der ctrl+x enter-Akkord erfordert v2.1.247 oder später, ctrl+x b, ctrl+x ctrl+a und ctrl+x tab erfordern v2.1.260 oder später, und ctrl+x ctrl+s erfordert v2.1.275 oder später.
Um ctrl+x selbst als Single-Key-Binding zurückzugewinnen, heben Sie alle auf:
{
"bindings": [
{
"context": "Task",
"bindings": {
"ctrl+x ctrl+b": null
}
},
{
"context": "DiffPanel",
"bindings": {
"ctrl+x b": null
}
},
{
"context": "Pane",
"bindings": {
"ctrl+x left": null,
"ctrl+x right": null,
"ctrl+x up": null,
"ctrl+x down": null,
"ctrl+x x": null
}
},
{
"context": "PaneField",
"bindings": {
"ctrl+x x": null
}
},
{
"context": "Chat",
"bindings": {
"ctrl+x ctrl+k": null,
"ctrl+x ctrl+e": null,
"ctrl+x enter": null,
"ctrl+x ctrl+a": null,
"ctrl+x ctrl+s": null,
"ctrl+x tab": null,
"ctrl+x": "chat:newline"
}
}
]
}
Wenn Sie einige, aber nicht alle Akkorde auf einem Präfix aufheben, führt das Drücken des Präfix immer noch in den Akkord-Wartmodus für die verbleibenden Bindings ein.
Reservierte Kürzel
Diese Kürzel können nicht neu gebunden werden:
| Kürzel | Grund |
|---|---|
| Ctrl+C | Hardcodierter Interrupt/Abbruch |
| Ctrl+D | Hardcodierter Ausstieg |
| Ctrl+M | Claude Code empfängt es immer als Enter |
| Ctrl+[ | Claude Code empfängt es immer als Escape. In Terminals, die das Kitty-Tastaturprotokoll verwenden, ist v2.1.242 oder später erforderlich |
| Ctrl+I | Claude Code empfängt es immer als Tab |
| Ctrl+H | Sendet das ASCII-Backspace-Byte. Wie Claude Code es unter Windows liest hängt von Ihrem Terminal und der Umgebungsvariablen CLAUDE_CODE_BS_AS_CTRL_BACKSPACE ab |
| Caps Lock | Nicht an Terminalanwendungen übermittelt |
Terminal-Konflikte
Einige Kürzel können mit Terminal-Multiplexern in Konflikt geraten:
| Kürzel | Konflikt |
|---|---|
| Ctrl+B | tmux-Präfix (zweimal drücken zum Senden) |
| Ctrl+A | GNU Screen-Präfix |
| Ctrl+Z | Unix-Prozess-Suspend (SIGTSTP) |
Textfelder
Wenn Sie einen einzelnen Buchstaben, eine Ziffer oder die Leertaste binden, können Sie dieses Zeichen trotzdem in einem Textfeld in einem Dialog oder Panel eingeben. Ein solches Feld ist die Other-Antwort auf eine Frage, die Claude stellt. Während das Feld den Fokus hat, geht ein druckbares Zeichen, das Sie ohne Strg, Alt oder Cmd drücken, in das Feld, und Claude Code gleicht es nicht gegen Ihre Bindungen ab.
Diese Tasten führen ihre Bindungen aus, während das Feld den Fokus hat:
- Tasten, die kein Zeichen eingeben, wie Eingabe, Escape, Tab und die Pfeiltasten
- Jede Taste, die mit Strg, Alt oder Cmd gedrückt wird
- Der zweite Tastendruck eines Akkords, der bereits läuft
Bei der Haupteingabeaufforderung gleicht Claude Code jede Taste gegen die aktiven Kontexte, wie Chat, ab und gibt die Taste nur ein, wenn keine Bindung sie übernimmt.
Vim-Modus-Interaktion
Wenn Sie den Vim-Modus über die Einstellung Editor-Modus in /config aktivieren, arbeiten Tastenkombinationen und Vim-Modus unabhängig voneinander:
- Vim-Modus verarbeitet Eingaben auf der Texteingabeebene: Cursor-Bewegung, Modi und Bewegungen
- Tastenkombinationen verarbeiten Aktionen auf der Komponentenebene, etwa das Umschalten von Aufgaben oder das Senden einer Nachricht
- Die Escape-Taste wechselt im Vim-Modus vom INSERT- in den NORMAL-Modus; sie löst kein
chat:cancelaus - Die meisten Ctrl+Taste-Kürzel werden durch den Vim-Modus zum Keybinding-System weitergeleitet
- Vim-Tasten können nicht über die Keybindings-Datei neu zugeordnet werden. Um eine zwei-Tasten-INSERT-Modus-Sequenz wie
jjauf Escape abzubilden, verwenden Sie die EinstellungvimInsertModeRemaps - Im Vim-NORMAL-Modus zeigt
?das Hilfemenü an (Vim-Verhalten) - Im Vim-NORMAL-Modus öffnet
/die Verlaufssuche, dasselbe wie Ctrl+R im Standardmodus
In der Zeile Other einer Frage, die Claude stellt, bricht Escape die Frage im Vim-Modus nicht sofort ab. Außer im Screenreader-Modus startet die Zeile jedes Mal im INSERT-Modus, wenn Sie sie fokussieren. Wenn Sie in der Zeile Other Escape drücken, wechselt die Zeile in den NORMAL-Modus oder verwirft einen halb eingegebenen Vim-Befehl, und die Frage bleibt geöffnet. Drücken Sie im NORMAL-Modus erneut Escape, um die Frage abzubrechen.
Eine Frage mit einem einzigen Tastendruck abbrechen
Um eine Frage im Vim-Modus mit einem einzigen Tastendruck abzubrechen, binden Sie eine andere Taste an select:cancel im Kontext Select. Auf diese Weise können Sie aus der Zeile Other einer Frage abbrechen, bei der Sie eine Option auswählen. Im Screenreader-Modus oder bei einer Frage, bei der Sie mehrere Optionen auswählen können, bricht die gebundene Taste nicht ab; brechen Sie stattdessen mit Escape ab.
Wählen Sie eine Taste, die Sie mit Ctrl oder Alt drücken. Ein einzelner Buchstabe oder eine einzelne Ziffer geht stattdessen in die Zeile Other und erreicht Ihre Tastenkombinationen nicht. Um beispielsweise Ctrl+Q zu binden, fügen Sie Folgendes zu ~/.claude/keybindings.json hinzu:
{
"bindings": [
{
"context": "Select",
"bindings": {
"ctrl+q": "select:cancel"
}
}
]
}
Nachdem Sie die Datei gespeichert haben, drücken Sie Ctrl+Q in der Zeile Other einer Frage, bei der Sie eine Option auswählen. Die Frage wird geschlossen, unabhängig davon, ob sich die Zeile im INSERT- oder NORMAL-Modus befindet.
Validierung
Claude Code validiert Ihre Keybindings und schreibt eine Warnung in das Debug-Protokoll für:
- Parse-Fehler (ungültiges JSON oder Struktur)
- Falsch geschriebene Modifizierer, wie
ctl+k. Claude Code verwirft den Teil, den es nicht erkennt, und wendet die Bindung auf den verbleibenden Tastendruck an,kin diesem Beispiel. - Ein Leerzeichen neben
+in einer Tastenzeichenfolge, wiectrl+ k. Claude Code liest die Zeichenfolge als Akkord ausctrl+gefolgt vonk. Kein Tastendruck entsprichtctrl+allein, daher wird die Bindung nie ausgelöst. Entfernen Sie das Leerzeichen. - Ungültige Kontextnamen
- Ungültige Aktionswerte, wie eine Aktion, die keine Zeichenkette oder
nullist - Unbekannte Aktionsnamen, wie ein Tippfehler einer registrierten Aktion. Claude Code überspringt die Bindung und behält alle Standard-Bindungen für diese Taste bei.
- Reservierte Kürzel-Konflikte
- Doppelte Bindings im selben Kontext
Starten Sie Claude Code mit --debug, um die Details zu sehen.