Claude Code Keybindings: remapea teclas, modo Vim y atajos
Todas las formas de cambiar cómo se comportan las teclas en Claude Code: editar keybindings.json, activar el modo vim con /vim o /config y aprender los atajos de teclado predeterminados que de verdad importan.
En corto
- Las teclas viven en ~/.claude/keybindings.json — ejecute /keybindings para crearlo y abrirlo. Los cambios aplican al guardar, sin reiniciar.
- Las asociaciones se agrupan por contexto (Chat, Autocomplete, Agents, Scroll…) y mapean una tecla como "ctrl+e" a una acción como chat:externalEditor. Asigne null a una tecla para desvincularla.
- Modo vim: ejecute /vim, o /config → Editor mode → Espacio → Enter. Escape alterna INSERT/NORMAL, y el modo visual (v/V) llegó en la v2.1.118.
- Algunas teclas no se tocan: Ctrl+C, Ctrl+D y Ctrl+M no se pueden remapear, y el prefijo Ctrl+B de tmux se traga los atajos antes de que Claude Code los reciba.
How to Enable Vim Editor in Claude Code CLI
Canal: ProgrammingKnowledge21:32
Claude Code v2.1.118 — Vim Visual Mode & Custom Themes
Canal: Claude Code Updates0:41
How to use Vim in Claude Code
Canal: HAMY LABS5:41
Claude Code release notes — v2.1.118 & v2.1.288
Notas de versión: github.com/anthropics/claude-code
Keybindings — official documentation
Docs: code.claude.com/docs
Los datos de esta página están contrastados con la documentación oficial de keybindings y con las entradas v2.1.118 y v2.1.288 del changelog; las capturas provienen de los vídeos de arriba. El comportamiento descrito corresponde a Claude Code v2.1.288 (octubre de 2026).
Las capturas son fotogramas de los vídeos citados, usados con atribución y enlazados a su marca de tiempo original en cada paso.
Remapear teclas y activar el modo vim, paso a paso
Remapea teclas en keybindings.json
- 1
Arranque Claude Code y revise su entorno
Ejecute claude en su terminal para abrir una sesión. Personalizar teclas y el modo vim son funciones del CLI: todo lo de esta página ocurre en el mismo prompt. Con v2.1.288 o superior tienes además los últimos atajos de la vista de agents: búsqueda con Ctrl+F y saltos entre grupos con Alt+↑/↓.

Una sesión de Claude Code recién estrenada, lista para personalizar.Ver en 0:17 - 2
Abra keybindings.json con /keybindings
Escriba /keybindings en el prompt. Si ~/.claude/keybindings.json todavía no existe, Claude Code lo crea y lo abre en su editor. Cualquier cambio que guarde se detecta solo — no hace falta reiniciar.

El menú de comandos filtra mientras escribe — /keybindings es una de las entradas.Ver en 0:34 - 3
Mapee una tecla a una acción dentro de un contexto
El archivo contiene un array bindings agrupado por contexto — Chat, Autocomplete, Agents, Task, Scroll y más. Cada bloque mapea una tecla a un nombre de acción: undefined }. Añada el campo $schema arriba y su editor autocompletará todos los nombres de acción.
- 4
Desvincule con null y encadene chords
Asigne null a una tecla para apagar un valor por defecto — "ctrl+s": null desactiva el stash del texto. Los chords se separan con espacios: "ctrl+x ctrl+k" significa pulsar Ctrl+X y luego Ctrl+K en menos de tres segundos. Algunas combinaciones están reservadas y no se pueden remapear: Ctrl+C, Ctrl+D, Ctrl+M, Ctrl+[ y Ctrl+I.
Activa el modo vim
- 5
Abra el panel de ajustes con /config
¿Prefiere un interruptor a editar JSON a mano? /config abre el panel que aparece en el vídeo, con las pestañas Status, Config y Usage y un buscador que filtra la lista mientras escribes.

El panel /config enumera todos los ajustes, incluido Editor mode.Ver en 0:40 - 6
Filtre la lista hasta Editor mode
Escriba edit en el buscador y la lista se reduce al ajuste Editor mode. De fábrica muestra normal — la edición estilo readline de Claude Code, familiar si viene de bash o de los keybindings de Emacs.

Editor mode arranca en normal; Espacio lo cambia.Ver en 1:08 - 7
Pulse Espacio para pasar a vim
Con la fila de Editor mode resaltada, pulse Espacio — el valor cambia de normal a vim. La línea de ayuda deja las reglas claras: Space para cambiar, Enter para guardar, / para buscar, Esc para cancelar.

Con una pulsación de Espacio basta para elegir vim.Ver en 1:11 - 8
Guarde y fíjese en -- INSERT --
Pulse Enter para guardar. Claude Code muestra "Set editor mode to vim" y la barra inferior estrena el marcador -- INSERT -- de vim. La preferencia persiste entre sesiones en la misma máquina — se guarda como editorMode dentro de ~/.claude.json, un archivo de ejecución que no debería enlazar en sus dotfiles porque también guarda cachés de OAuth y estado de sesiones.

Guardado — el pie muestra el indicador -- INSERT -- de vim.Ver en 1:28 - 9
Escriba en insert mode, mande en normal mode
El insert mode escribe como siempre. Escape pasa al normal mode: h, j, k, l mueven el cursor, b y w saltan entre palabras, d borra, c cambia, r reemplaza. Ejecutar /vim otra vez apaga todo el modo. Las teclas propias de vim no se remapean desde keybindings.json — vimInsertModeRemaps es el ajuste para secuencias en INSERT como jj.
- 10
Seleccione texto con el modo visual (v2.1.118+)
Los tutoriales antiguos dicen que el modo visual no existe — se quedaron cortos. La v2.1.118 añadió el modo visual (v) y el modo de línea visual (V) con selección, operadores y feedback visual: v más un motion selecciona caracteres, V más un motion líneas enteras, y luego d, y o c actúan sobre la selección.

La v2.1.118 trajo la selección con v y V al modo vim de Claude Code.Ver en 0:16
Atajos predeterminados que merece la pena memorizar
- 11
Aprenda los atajos por defecto que más importan
Shift+Tab rota los modos de permisos, Enter envía, Ctrl+J añade salto de línea, Ctrl+L limpia la entrada, Ctrl+R busca en el historial, Ctrl+O alterna el transcript, Ctrl+T muestra los todos, Ctrl+B manda una tarea al fondo y Ctrl+X Ctrl+K mata los agents. En la vista de agents (v2.1.288+) Ctrl+F encuentra una sesión por nombre y Alt+↑/↓ salta entre grupos — y todo esto se puede remapear en keybindings.json.
keybindings.json vs /config vs /vim: qué cambia cada uno
Tres capas deciden qué hacen tus teclas en Claude Code. Se apilan en vez de competir — elija la que encaje con el cambio que busca.
- 1keybindings.json remapea acciones concretas. Lleva chat:externalEditor a ctrl+e, desvincula chat:stash, añade un chord ctrl+x. Granular, portable y sin problema para versionarlo.
- 2/config → Editor mode cambia el modelo de edición entero entre normal (readline) y vim. Un interruptor, guardado al instante, aplicado a todas las sesiones futuras de esa máquina.
- 3/vim hace exactamente lo mismo que el interruptor de Editor mode — es el camino más corto y el comando que usa el walkthrough de HAMY LABS. Ejecútalo otra vez para volver a normal.
- 4Su terminal intercepta algunas teclas antes de que Claude Code las vea: el prefijo Ctrl+B de tmux, el Ctrl+A de GNU screen y Ctrl+Z, que suspende el proceso. Eso se arregla en el terminal, no en keybindings.json.
- 5Dentro del modo vim, vimInsertModeRemaps es la única forma de remapear su comportamiento, como jj para volver — keybindings.json deliberadamente no toca las teclas internas de vim.
Regla práctica: un atajo molesto → keybindings.json; otra forma de editar en general → modo vim; una tecla que nunca llega → revise primero el terminal.
¿No funciona su tecla? Arréglelo en orden
Casi todas las quejas con keybindings se reducen a cinco causas. Repase la lista antes de volver a editar el archivo.
- 1No cambia nada al editar: compruebe que el archivo es ~/.claude/keybindings.json (no settings.json) y que el JSON parsea. Arranque Claude Code con --debug para ver avisos de asociaciones como acciones mal escritas o contextos inexistentes.
- 2Una tecla se niega a remapearse: Ctrl+C, Ctrl+D, Ctrl+M (siempre Enter), Ctrl+[ (siempre Escape) y Ctrl+I (siempre Tab) están reservadas. Los caracteres imprimibles tecleados en un campo de texto van a la entrada, no a las asociaciones.
- 3Ctrl+B o Ctrl+A nunca llegan: tmux y GNU screen los consumen como sus prefijos. Remapee el atajo en keybindings.json o cambie el prefijo del multiplexor.
- 4Reutilizar un prefijo de chord falla: si ctrl+x inicia varios chords, debe desvincular todos los chords ctrl+x antes de que ctrl+x solo funcione como tecla simple.
- 5Las teclas de vim ignoran tus asociaciones: a propósito — el modo vim gestiona sus propias teclas. Use vimInsertModeRemaps para secuencias en insert, y actualice Claude Code si la selección con v o V no hace nada (requiere v2.1.118+).
Para restaurar cualquier valor por defecto, borre su línea de keybindings.json — es eliminar, y no guardar un valor «default», lo que devuelve la asociación original.
