/keybindings pour créer ou ouvrir votre fichier de configuration à ~/.claude/keybindings.json.
Fichier de configuration
Le fichier de configuration des liaisons de touches est un objet avec un tableaubindings. Chaque bloc spécifie un contexte et une carte des séquences de touches aux actions.
Les modifications du fichier keybindings sont automatiquement détectées et appliquées sans redémarrer Claude Code.
Cet exemple lie
Ctrl+E pour ouvrir un éditeur externe dans le contexte de chat, et délié Ctrl+U :
Contextes
Chaque bloc de liaison spécifie un contexte où les liaisons s’appliquent :
Avant v2.1.205, un contexte
Doctor et une action doctor:fix existaient pour l’écran de diagnostics /doctor.
Actions disponibles
Les actions suivent un formatnamespace:action, tel que chat:submit pour envoyer un message ou app:toggleTodos pour afficher la liste des tâches. Chaque contexte a des actions spécifiques disponibles.
Actions d’application
Actions disponibles dans le contexteGlobal :
Actions d’historique
Actions pour naviguer dans l’historique des commandes :Actions de chat
Actions disponibles dans le contexteChat :
*Sous Windows sans mode VT (Node <24.2.0/<22.17.0, Bun <1.2.23), la valeur par défaut est Meta+M.
Actions d’autocomplétion
Actions disponibles dans le contexteAutocomplete :
Actions de confirmation
Actions disponibles dans le contexteConfirmation :
Actions de permission
Actions disponibles dans le contexteConfirmation pour les dialogues de permission :
Actions de transcription
Actions disponibles dans le contexteTranscript :
Actions de recherche d’historique
Actions disponibles dans le contexteHistorySearch :
Actions de tâche
Actions disponibles dans le contexteTask :
Actions de thème
Actions disponibles dans le contexteThemePicker :
Actions d’aide
Actions disponibles dans le contexteHelp :
Actions d’onglets
Actions disponibles dans le contexteTabs :
Actions de pièces jointes
Actions disponibles dans le contexteAttachments :
Actions de pied de page
Actions disponibles dans le contexteFooter :
Actions du sélecteur de message
Actions disponibles dans le contexteMessageSelector :
Actions de diff
Actions disponibles dans le contexteDiffDialog :
La vue détaillée du diff lie également les touches de style paginateur aux actions de défilement standard. Ces liaisons font partie du contexte
DiffDialog et s’appliquent uniquement dans la vue détaillée ; les valeurs par défaut du contexte Scroll listées sous Actions de défilement sont inchangées.
Actions du sélecteur de modèle
Actions disponibles dans le contexteModelPicker :
Actions de sélection
Actions disponibles dans le contexteSelect :
Actions de plugin
Actions disponibles dans le contextePlugin :
Actions des paramètres
Actions disponibles dans le contexteSettings. Les actions select:accept et confirm:no sont réutilisées à partir des contextes Sélection et Confirmation avec un comportement spécifique aux paramètres : les modifications s’appliquent à chaque paramètre dès que vous le modifiez, donc Échappement ferme le panneau avec vos modifications enregistrées plutôt que de refuser.
Actions vocales
Actions disponibles dans le contexteChat lorsque la dictée vocale est activée :
Actions de défilement
Actions disponibles dans le contexteScroll lorsque le rendu plein écran est activé :
Syntaxe des séquences de touches
Modificateurs
Utilisez les touches de modification avec le séparateur+ :
ctrloucontrol- Touche Contrôleshift- Touche Majalt,opt,option, oumeta- Touche Alt sur Windows et Linux, touche Option sur macOScmd,command,super, ouwin- Touche Commande sur macOS, touche Windows sur Windows, touche Super sur Linux
cmd n’est détecté que dans les terminaux qui signalent le modificateur Super, comme ceux prenant en charge le protocole clavier Kitty ou le mode modifyOtherKeys de xterm. La plupart des terminaux ne l’envoient pas, donc utilisez ctrl ou meta pour les liaisons que vous voulez que fonctionnent partout.
Par exemple :
Lettres majuscules
Une lettre majuscule autonome implique Maj. Par exemple,K est équivalent à shift+k. Ceci est utile pour les liaisons de style vim où les touches majuscules et minuscules ont des significations différentes.
Les lettres majuscules avec des modificateurs (par exemple, ctrl+K) sont traitées comme stylistiques et n’impliquent pas Maj : ctrl+K est identique à ctrl+k.
Accords
Les accords sont des séquences de touches séparées par des espaces :Touches spéciales
escapeouesc- Touche Échappemententeroureturn- Touche Entréetab- Touche Tabspace- Barre d’espaceup,down,left,right- Touches fléchéesbackspace,delete- Touches de suppression
Délier les raccourcis par défaut
Définissez une action surnull pour délier un raccourci par défaut :
Ctrl+X par défaut s’étend sur deux contextes : ctrl+x ctrl+k et ctrl+x ctrl+e dans Chat, et ctrl+x ctrl+b dans Task. Pour récupérer ctrl+x lui-même comme liaison à touche unique, déliez tous les éléments suivants :
Raccourcis réservés
Ces raccourcis ne peuvent pas être reliés :Conflits de terminal
Certains raccourcis peuvent entrer en conflit avec les multiplexeurs de terminal :Interaction du mode Vim
Lorsque le mode vim est activé via/config → Mode Éditeur, les liaisons de touches et le mode vim fonctionnent indépendamment :
- Mode Vim gère l’entrée au niveau de la saisie de texte (mouvement du curseur, modes, motions)
- Liaisons de touches gèrent les actions au niveau du composant (basculer les tâches, soumettre, etc.)
- La touche Échappement en mode vim bascule INSERT en mode NORMAL ; elle ne déclenche pas
chat:cancel - La plupart des raccourcis Ctrl+touche passent par le mode vim au système de liaison de touches
- Les touches Vim ne sont pas remappables via le fichier de liaisons de touches. Pour mapper une séquence en mode INSERT à deux touches comme
jjà Échappement, utilisez le paramètrevimInsertModeRemaps - En mode NORMAL vim,
?affiche le menu d’aide (comportement vim) - En mode NORMAL vim,
/ouvre la recherche dans l’historique, identique à Ctrl+R en mode standard
Validation
Claude Code valide vos liaisons de touches et affiche des avertissements pour :- Erreurs d’analyse (JSON invalide ou structure)
- Noms de contexte invalides
- Conflits de raccourcis réservés
- Conflits de multiplexeur de terminal
- Liaisons en double dans le même contexte
--debug pour voir les détails.