Deepseek ArtifactsDeepseek Artifacts
Personalização de teclado · Atualizado para a v2.1.288

Claude Code Keybindings: remapeie teclas, modo Vim e atalhos

Todas as formas de mudar o comportamento das teclas no Claude Code: editar o keybindings.json, ativar o modo vim com /vim ou /config e aprender os atalhos de teclado padrão que realmente importam.

Resumão

  • Os keybindings moram em ~/.claude/keybindings.json — rode /keybindings para criar e abrir o arquivo. As mudanças valem ao salvar, sem reiniciar.
  • As associações ficam agrupadas por contexto (Chat, Autocomplete, Agents, Scroll…) e mapeiam uma tecla como "ctrl+e" a uma ação como chat:externalEditor. Atribua null a uma tecla para desvinculá-la.
  • Modo vim: rode /vim, ou /config → Editor mode → Espaço → Enter. O Escape alterna INSERT/NORMAL, e o modo visual (v/V) chegou na v2.1.118.
  • Algumas teclas estão fora de alcance: Ctrl+C, Ctrl+D e Ctrl+M não podem ser remapeadas, e o prefixo Ctrl+B do tmux engole os atalhos antes que o Claude Code os veja.

How to Enable Vim Editor in Claude Code CLI

Canal: ProgrammingKnowledge21:32

Abrir

Claude Code v2.1.118 — Vim Visual Mode & Custom Themes

Canal: Claude Code Updates0:41

Abrir

How to use Vim in Claude Code

Canal: HAMY LABS5:41

Abrir

Claude Code release notes — v2.1.118 & v2.1.288

Notas de versão: github.com/anthropics/claude-code

Abrir

Keybindings — official documentation

Docs: code.claude.com/docs

Abrir

Os fatos desta página foram conferidos com a documentação oficial de keybindings e com as entradas v2.1.118 e v2.1.288 do changelog; as capturas de tela vêm dos vídeos acima. O comportamento descrito corresponde ao Claude Code v2.1.288 (outubro de 2026).

As capturas de tela são quadros dos vídeos citados, usados com atribuição e ligados ao timestamp original em cada passo.

Remapear teclas e ativar o modo vim, passo a passo

Remapeie teclas no keybindings.json

  1. 1

    Abra o Claude Code e confira seu ambiente

    Rode claude no seu terminal para começar uma sessão. Personalizar teclas e o modo vim são recursos do CLI: tudo nesta página acontece no mesmo prompt. Na v2.1.288 ou mais recente você também ganha os atalhos novos da visão de agents: busca com Ctrl+F e saltos entre grupos com Alt+↑/↓.

    Claude Code welcome screen in a Windows PowerShell terminal showing the session banner and an empty prompt before any keybindings are customized
    Uma sessão recém-aberta do Claude Code, pronta para personalização.Ver em 0:17
  2. 2

    Abra o keybindings.json com /keybindings

    Digite /keybindings no prompt. Se o ~/.claude/keybindings.json ainda não existir, o Claude Code cria o arquivo e abre no seu editor. Qualquer mudança salva é detectada automaticamente — sem reiniciar.

    Claude Code slash command menu filtering the command list after a forward slash is typed into the input box
    O menu de comandos filtra enquanto você digita — /keybindings é uma das entradas.Ver em 0:34
  3. 3

    Mapeie uma tecla a uma ação dentro de um contexto

    O arquivo contém um array bindings agrupado por contexto — Chat, Autocomplete, Agents, Task, Scroll e mais. Cada bloco mapeia uma tecla a um nome de ação: undefined }. Adicione o campo $schema no topo e seu editor autocompleta todos os nomes de ação.

  4. 4

    Desvincule com null e encadeie chords

    Atribua null a uma tecla para desligar um padrão — "ctrl+s": null desativa o stash do texto. Chords são separados por espaço: "ctrl+x ctrl+k" significa pressionar Ctrl+X e, em até três segundos, Ctrl+K. Algumas combinações são reservadas e não podem ser remapeadas: Ctrl+C, Ctrl+D, Ctrl+M, Ctrl+[ e Ctrl+I.

Ative o modo vim

  1. 5

    Abra o painel de ajustes com /config

    Prefere um interruptor a editar JSON na mão? O /config abre o painel mostrado no vídeo, com as abas Status, Config e Usage e um campo de busca que filtra a lista enquanto você digita.

    Claude Code /config settings panel listing Auto-compact, Todo list, Editor mode and Theme options in the terminal
    O painel /config lista todos os ajustes, incluindo o Editor mode.Ver em 0:40
  2. 6

    Filtre a lista até o Editor mode

    Digite edit no campo de busca e a lista se reduz ao ajuste Editor mode. De fábrica ele mostra normal — a edição estilo readline do Claude Code, familiar para quem vem do bash ou dos keybindings do Emacs.

    Claude Code config search filtered to the Editor mode setting showing its default normal value
    O Editor mode começa em normal; Espaço troca.Ver em 1:08
  3. 7

    Aperte Espaço para mudar para vim

    Com a linha do Editor mode destacada, aperte Espaço — o valor passa de normal para vim. A linha de ajuda deixa o combinado claro: Space para mudar, Enter para salvar, / para buscar, Esc para cancelar.

    Claude Code Editor mode setting switched from normal to vim in the /config panel
    Uma apertada no Espaço basta para escolher vim.Ver em 1:11
  4. 8

    Salve e repare no -- INSERT --

    Aperte Enter para salvar. O Claude Code mostra "Set editor mode to vim" e o rodapé ganha o marcador -- INSERT -- do vim. A escolha persiste entre sessões na mesma máquina — fica guardada como editorMode dentro do ~/.claude.json, um arquivo de execução que você não deve linkar nos seus dotfiles, já que ele também guarda caches de OAuth e estado de sessões.

    Claude Code confirming Set editor mode to vim with the vim INSERT mode indicator in the footer
    Salvo — o rodapé agora mostra o indicador -- INSERT -- do vim.Ver em 1:28
  5. 9

    Digite no insert mode, comande no normal mode

    O insert mode digita como de costume. O Escape leva ao normal mode: h, j, k, l movem o cursor, b e w saltam entre palavras, d apaga, c muda, r substitui. Rodar /vim de novo desliga o modo inteiro. As teclas do próprio vim não são remapeáveis pelo keybindings.json — o vimInsertModeRemaps é o ajuste para sequências em INSERT como jj.

  6. 10

    Selecione texto com o modo visual (v2.1.118+)

    Tutoriais antigos dizem que o modo visual não existe — isso envelheceu. A v2.1.118 trouxe o modo visual (v) e o modo de linha visual (V), com seleção, operadores e retorno visual: v mais um motion seleciona caracteres, V mais um motion seleciona linhas inteiras, e então d, y ou c age sobre a seleção.

    Claude Code v2.1.118 release note card listing the vim visual mode commands v plus motion and V plus motion
    A v2.1.118 trouxe a seleção com v e V ao modo vim do Claude Code.Ver em 0:16

Atalhos padrão que valem a pena memorizar

  1. 11

    Aprenda os atalhos padrão que mais importam

    Shift+Tab circula os modos de permissão, Enter envia, Ctrl+J insere quebra de linha, Ctrl+L limpa a entrada, Ctrl+R busca no histórico, Ctrl+O alterna o transcript, Ctrl+T mostra os todos, Ctrl+B manda uma tarefa para o plano de fundo e Ctrl+X Ctrl+K encerra os agents. Na visão de agents (v2.1.288+), Ctrl+F encontra uma sessão pelo nome e Alt+↑/↓ salta entre grupos — e tudo isso é remapeável no keybindings.json.

keybindings.json vs /config vs /vim: quem muda o quê

Três camadas controlam o que suas teclas fazem no Claude Code. Elas se empilham em vez de competir — escolha a camada que combina com a mudança que você quer.

  • 1O keybindings.json remapeia ações pontuais. Leve o chat:externalEditor para o ctrl+e, desvincule o chat:stash, adicione um chord ctrl+x. Granular, portátil e seguro para versionar.
  • 2O /config → Editor mode troca o modelo de edição inteiro entre normal (readline) e vim. Um interruptor, salvo na hora, válido para todas as sessões futuras daquela máquina.
  • 3O /vim faz exatamente o mesmo que o interruptor do Editor mode — é o caminho mais curto e o comando usado no walkthrough do HAMY LABS. Rode de novo para voltar ao normal.
  • 4Seu terminal intercepta algumas teclas antes de o Claude Code as ver: o prefixo Ctrl+B do tmux, o Ctrl+A do GNU screen e o Ctrl+Z, que suspende o processo. Isso se resolve no terminal, não no keybindings.json.
  • 5Dentro do modo vim, o vimInsertModeRemaps é a única forma de remapear o comportamento do vim, como jj para escape — o keybindings.json de propósito não toca nas teclas internas do vim.

Regra de bolso: um atalho irritante → keybindings.json; outro estilo de edição por inteiro → modo vim; uma tecla que nunca chega → confira primeiro o terminal.

Keybinding não funciona? Corrija nessa ordem

Quase todas as reclamações sobre keybindings se resumem a cinco causas. Percorra a lista antes de editar o arquivo de novo.

  • 1Nada muda depois de editar: confirme que o arquivo é ~/.claude/keybindings.json (não o settings.json) e que o JSON faz parse. Inicie o Claude Code com --debug para enxergar avisos de associação, como ações escritas errado ou contextos desconhecidos.
  • 2Uma tecla se recusa a ser remapeada: Ctrl+C, Ctrl+D, Ctrl+M (sempre Enter), Ctrl+[ (sempre Escape) e Ctrl+I (sempre Tab) são reservadas. Caracteres imprimíveis digitados em campos de texto vão para a entrada, não para as associações.
  • 3Ctrl+B ou Ctrl+A nunca chega: tmux e GNU screen os consomem como prefixos. Remapeie o atalho no keybindings.json ou troque o prefixo do multiplexador.
  • 4Reusar um prefixo de chord falha: se ctrl+x inicia vários chords, você precisa desvincular todos os chords ctrl+x antes de ctrl+x sozinho funcionar como tecla simples.
  • 5As teclas do vim ignoram suas associações: de propósito — o modo vim cuida das próprias teclas. Use o vimInsertModeRemaps para sequências em insert, e atualize o Claude Code se a seleção com v ou V não fizer nada (exige v2.1.118+).

Para restaurar qualquer padrão, apague a linha dele do keybindings.json — é a remoção, e não um valor “default” salvo, que devolve a associação original.

FAQ de keybindings do Claude Code

Mais guias de Claude Code