/keybindings para crear o abrir su archivo de configuración en ~/.claude/keybindings.json.
Archivo de configuración
El archivo de configuración de atajos de teclado es un objeto con un arraybindings. Cada bloque especifica un contexto y un mapa de pulsaciones de teclas a acciones.
Los cambios en el archivo de atajos de teclado se detectan y aplican automáticamente sin reiniciar Claude Code.
Este ejemplo vincula
Ctrl+E para abrir un editor externo en el contexto de chat, y desvincula Ctrl+U:
Contextos
Cada bloque de vinculación especifica un contexto donde se aplican los atajos de teclado:
Antes de v2.1.205, existían un contexto
Doctor y una acción doctor:fix para la pantalla de diagnósticos /doctor.
Acciones disponibles
Las acciones siguen un formatonamespace:action, como chat:submit para enviar un mensaje o app:toggleTodos para mostrar la lista de tareas. Cada contexto tiene acciones específicas disponibles.
Acciones de aplicación
Acciones disponibles en el contextoGlobal:
Acciones de historial
Acciones para navegar por el historial de comandos:Acciones de chat
Acciones disponibles en el contextoChat:
*En Windows sin modo VT (Node <24.2.0/<22.17.0, Bun <1.2.23), el valor predeterminado es Meta+M.
Acciones de autocompletado
Acciones disponibles en el contextoAutocomplete:
Acciones de confirmación
Acciones disponibles en el contextoConfirmation:
Acciones de permiso
Acciones disponibles en el contextoConfirmation para diálogos de permiso:
Acciones de transcripción
Acciones disponibles en el contextoTranscript:
Acciones de búsqueda de historial
Acciones disponibles en el contextoHistorySearch:
Acciones de tarea
Acciones disponibles en el contextoTask:
Acciones de tema
Acciones disponibles en el contextoThemePicker:
Acciones de ayuda
Acciones disponibles en el contextoHelp:
Acciones de pestañas
Acciones disponibles en el contextoTabs:
Acciones de adjuntos
Acciones disponibles en el contextoAttachments:
Acciones de pie de página
Acciones disponibles en el contextoFooter:
Acciones del selector de mensajes
Acciones disponibles en el contextoMessageSelector:
Acciones de diff
Acciones disponibles en el contextoDiffDialog:
La vista de detalles de diff también vincula atajos de teclado de estilo paginador a las acciones de desplazamiento estándar. Estos enlaces son parte del contexto
DiffDialog y se aplican solo en la vista de detalles; los valores predeterminados del contexto Scroll enumerados en Acciones de desplazamiento no cambian.
Acciones del selector de modelo
Acciones disponibles en el contextoModelPicker:
Acciones de selección
Acciones disponibles en el contextoSelect:
Acciones de plugin
Acciones disponibles en el contextoPlugin:
Acciones de configuración
Acciones disponibles en el contextoSettings. Las acciones select:accept y confirm:no se reutilizan de los contextos Selección y Confirmación con comportamiento específico de Configuración: los cambios se aplican a cada configuración tan pronto como la cambia, por lo que Escape cierra el panel con los cambios guardados en lugar de rechazarlos.
Acciones de voz
Acciones disponibles en el contextoChat cuando dictado de voz está habilitado:
Acciones de desplazamiento
Acciones disponibles en el contextoScroll cuando renderizado de pantalla completa está habilitado:
Sintaxis de pulsación de tecla
Modificadores
Use teclas modificadoras con el separador+:
ctrlocontrol- Tecla Controlshift- Tecla Shiftalt,opt,option, ometa- Tecla Alt en Windows y Linux, tecla Opción en macOScmd,command,super, owin- Tecla Comando en macOS, tecla Windows en Windows, tecla Super en Linux
cmd solo se detecta en terminales que reportan el modificador Super, como aquellos que soportan el protocolo de teclado Kitty o el modo modifyOtherKeys de xterm. La mayoría de terminales no lo envían, así que use ctrl o meta para atajos de teclado que desee que funcionen en todas partes.
Por ejemplo:
Letras mayúsculas
Una letra mayúscula independiente implica Shift. Por ejemplo,K es equivalente a shift+k. Esto es útil para atajos de teclado de estilo vim donde las teclas mayúsculas y minúsculas tienen significados diferentes.
Las letras mayúsculas con modificadores (por ejemplo, ctrl+K) se tratan como estilísticas y no implican Shift: ctrl+K es lo mismo que ctrl+k.
Acordes
Los acordes son secuencias de pulsaciones de teclas separadas por espacios:Teclas especiales
escapeoesc- Tecla Escapeenteroreturn- Tecla Entertab- Tecla Tabspace- Barra espaciadoraup,down,left,right- Teclas de flechabackspace,delete- Teclas de eliminación
Desvinculación de atajos predeterminados
Establezca una acción ennull para desvinculación de un atajo predeterminado:
Ctrl+X abarca dos contextos: ctrl+x ctrl+k y ctrl+x ctrl+e en Chat, y ctrl+x ctrl+b en Task. Para reclamar ctrl+x en sí mismo como una vinculación de tecla única, desvinculación de todos ellos:
Atajos reservados
Estos atajos no se pueden reasignar:Conflictos de terminal
Algunos atajos pueden entrar en conflicto con multiplexores de terminal:Interacción del modo Vim
Cuando el modo vim está habilitado mediante/config → Editor mode, los atajos de teclado y el modo vim funcionan de forma independiente:
- Modo Vim maneja la entrada a nivel de entrada de texto (movimiento del cursor, modos, movimientos)
- Atajos de teclado manejan acciones a nivel de componente (alternar tareas, enviar, etc.)
- La tecla Escape en modo vim cambia de modo INSERT a NORMAL; no activa
chat:cancel - La mayoría de los atajos Ctrl+tecla pasan a través del modo vim al sistema de atajos de teclado
- Las teclas Vim no se pueden remapear a través del archivo de atajos de teclado. Para mapear una secuencia de dos teclas en modo INSERT como
jja Escape, use la configuraciónvimInsertModeRemaps - En modo NORMAL de vim,
?muestra el menú de ayuda (comportamiento de vim) - En modo NORMAL de vim,
/abre la búsqueda de historial, lo mismo que Ctrl+R en modo estándar
Validación
Claude Code valida sus atajos de teclado y muestra advertencias para:- Errores de análisis (JSON o estructura inválida)
- Nombres de contexto inválidos
- Conflictos de atajos reservados
- Conflictos de multiplexor de terminal
- Vinculaciones duplicadas en el mismo contexto
--debug para ver los detalles.