Build This Now
Build This Now
Atalhos de TecladoGuia da Status Line
speedy_devvkoen_salo
Blog/Toolkit/Keyboard Shortcuts

Atalhos de Teclado

Configure o keybindings.json do Claude Code: 17 contextos, sintaxe de teclas, sequências de acordes, combinações de modificadores e como desvincular qualquer atalho padrão instantaneamente.

Pare de configurar. Comece a construir.

Templates SaaS com orquestração de IA.

Published Jan 25, 2026Toolkit hub

Configure atalhos de teclado personalizados no Claude Code. Referência para todos os 17 contextos, sintaxe de teclas e exemplos de keybindings.json.

Sua memória muscular diz que Ctrl+K deveria abrir uma paleta de comandos. O Claude Code discorda. Cada vez que você alcança um atalho familiar e obtém a ação errada, você perde o foco e quebra o fluxo.

Essa fricção se acumula. Desenvolvedores que passam horas em sessões do Claude Code criam hábitos inconscientes em torno de atalhos de teclado. Quando os padrões não correspondem ao seu modelo mental, você está lutando contra a ferramenta em vez de usá-la. Se você vem do VS Code, Vim, Emacs, ou qualquer fluxo de trabalho com muito terminal, você já tem anos de padrões de atalho gravados nos seus dedos. Forçar-se a aprender novos é um desperdício de esforço cognitivo.

O Claude Code resolve isso com um sistema de keybinding totalmente personalizável. Você define cada atalho em um único arquivo JSON, organizado por contexto, com suporte para sequências de acordes, combinações de modificadores e a capacidade de desvincular qualquer padrão. As mudanças se aplicam instantaneamente sem reiniciar. Veja como configurar e fazer o Claude Code parecer uma extensão do seu fluxo de trabalho atual.

Começando com Keybindings Personalizados

Execute o comando slash /keybindings dentro do Claude Code. Isso cria (ou abre) seu arquivo de configuração em ~/.claude/keybindings.json. Se você é novo em configurar o Claude Code, este arquivo fica junto com suas outras configurações no diretório ~/.claude/.

A estrutura do arquivo é direta:

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "$docs": "https://code.claude.com/docs/en/keybindings",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+u": null
      }
    }
  ]
}

Três campos no nível raiz controlam tudo:

  • $schema - Opcional. Aponte para a URL do JSON Schema do Claude e seu editor te dá autocompletar e validação de graça. Vale adicionar.
  • $docs - Opcional. URL de documentação para referência rápida.
  • bindings - O array onde todos os seus atalhos personalizados ficam. Cada entrada mira em um contexto específico.

O campo $schema por si só torna a configuração muito mais fácil. Se você usa VS Code ou qualquer editor com suporte a JSON Schema, você recebe sugestões inline para cada ação e nome de contexto válido.

Mudanças em keybindings.json são detectadas e aplicadas automaticamente. Sem necessidade de reiniciar. Edite, salve e seus novos atalhos estão ativos imediatamente.

Entendendo Contextos

Cada binding pertence a um contexto, que diz ao Claude Code quando aquele atalho está ativo. Um atalho vinculado no contexto Chat só dispara quando você está digitando na entrada de chat principal. A mesma combinação de teclas pode fazer coisas diferentes em contextos diferentes.

O Claude Code tem 17 contextos:

ContextoQuando Está Ativo
GlobalEm todo o app
ChatÁrea de entrada do chat principal
AutocompleteMenu de autocompletar aberto
SettingsMenu de configurações aberto
ConfirmationDiálogos de permissão e confirmação
TabsComponentes de navegação por abas
HelpMenu de ajuda visível
TranscriptVisualizador de transcrição
HistorySearchModo de pesquisa no histórico (Ctrl+R)
TaskTarefa em segundo plano rodando
ThemePickerDiálogo do seletor de tema
AttachmentsNavegação na barra de imagens/anexos
FooterNavegação dos indicadores do rodapé
MessageSelectorSeleção de mensagem no diálogo de rewind
DiffDialogNavegação no visualizador de diff
ModelPickerNível de esforço do seletor de modelo
SelectComponentes genéricos de seleção/lista
PluginDiálogo de plugin (navegar, descobrir, gerenciar)

O contexto Global é especial. Bindings aqui se aplicam em todo lugar, independentemente de qual diálogo ou visualização está ativa. Use com cautela. Se você vincular Ctrl+K globalmente, ele dispara esteja você no chat, navegando em sugestões de autocompletar ou revisando diffs.

Referência Completa de Ações

As ações seguem o formato de nomenclatura namespace:ação. Aqui está cada ação disponível em cada contexto, junto com seu binding padrão.

Ações Globais

Funcionam em todo o Claude Code:

AçãoPadrãoO Que Faz
app:interruptCtrl+CCancela a operação atual
app:exitCtrl+DSai do Claude Code
app:toggleTodosCtrl+TAlterna visibilidade da lista de tarefas
app:toggleTranscriptCtrl+OAlterna transcrição detalhada

Se você usa recursos de gerenciamento de tarefas, app:toggleTodos é um que você vai usar constantemente. Considere vincular a algo mais acessível se Ctrl+T conflitar com seu terminal.

Ações de Chat

A área de entrada principal onde você passa a maior parte do tempo:

AçãoPadrãoO Que Faz
chat:cancelEscapeCancela a entrada atual
chat:cycleModeShift+TabAlterna modos de permissão
chat:modelPickerCmd+P / Meta+PAbre o seletor de modelo
chat:thinkingToggleCmd+T / Meta+TAlterna pensamento estendido
chat:submitEnterEnvia mensagem
chat:undoCtrl+_Desfaz última ação
chat:externalEditorCtrl+GAbre em editor externo
chat:stashCtrl+SGuarda o prompt atual
chat:imagePasteCtrl+V (Alt+V no Windows)Cola imagem

Observação: chat:cycleMode usa Meta+M no Windows sem modo VT (versões do Node anteriores a 24.2.0/22.17.0, ou Bun anterior a 1.2.23). Isso se conecta diretamente ao gerenciamento de permissões para controlar o que o Claude pode e não pode fazer.

Ações de Histórico

Navegue pelo histórico de comandos:

AçãoPadrãoO Que Faz
history:searchCtrl+RAbre pesquisa no histórico
history:previousUpItem anterior do histórico
history:nextDownPróximo item do histórico

Ações de Autocompletar

Quando o menu de autocompletar aparece:

AçãoPadrãoO Que Faz
autocomplete:acceptTabAceita sugestão
autocomplete:dismissEscapeFecha o menu
autocomplete:previousUpSugestão anterior
autocomplete:nextDownPróxima sugestão

Ações de Confirmação

Diálogos de permissão e confirmação:

AçãoPadrãoO Que Faz
confirm:yesY, EnterConfirma ação
confirm:noN, EscapeRecusa ação
confirm:previousUpOpção anterior
confirm:nextDownPróxima opção
confirm:nextFieldTabPróximo campo
confirm:previousField(não vinculado)Campo anterior
confirm:cycleModeShift+TabAlterna modos de permissão
confirm:toggleExplanationCtrl+EAlterna explicação de permissão
permission:toggleDebugCtrl+DAlterna informações de debug de permissão

Ações de Transcrição

AçãoPadrãoO Que Faz
transcript:toggleShowAllCtrl+EAlterna exibição de todo o conteúdo
transcript:exitCtrl+C, EscapeSai da visualização de transcrição

Ações de Pesquisa no Histórico

AçãoPadrãoO Que Faz
historySearch:nextCtrl+RPróxima correspondência
historySearch:acceptEscape, TabAceita seleção
historySearch:cancelCtrl+CCancela pesquisa
historySearch:executeEnterExecuta comando selecionado

Ações de Tarefa

AçãoPadrãoO Que Faz
task:backgroundCtrl+BColoca tarefa atual em segundo plano

Ações de Tema, Ajuda e Configurações

AçãoContextoPadrãoO Que Faz
theme:toggleSyntaxHighlightingThemePickerCtrl+TAlterna destaque de sintaxe
help:dismissHelpEscapeFecha menu de ajuda
settings:searchSettings/Entra no modo de pesquisa
settings:retrySettingsRTenta recarregar dados de uso

Ações de Navegação

Cobrindo abas, anexos, rodapé, diffs, seletor de modelo, seleções e seletor de mensagens:

AçãoContextoPadrãoO Que Faz
tabs:nextTabsTab, RightPróxima aba
tabs:previousTabsShift+Tab, LeftAba anterior
attachments:nextAttachmentsRightPróximo anexo
attachments:previousAttachmentsLeftAnexo anterior
attachments:removeAttachmentsBackspace, DeleteRemove anexo
attachments:exitAttachmentsDown, EscapeSai da barra de anexos
footer:nextFooterRightPróximo item do rodapé
footer:previousFooterLeftItem anterior do rodapé
footer:openSelectedFooterEnterAbre item selecionado
footer:clearSelectionFooterEscapeLimpa seleção
messageSelector:upMessageSelectorUp, KMove para cima na lista
messageSelector:downMessageSelectorDown, JMove para baixo na lista
messageSelector:topMessageSelectorCtrl+Up, Shift+UpPula para o topo
messageSelector:bottomMessageSelectorCtrl+Down, Shift+DownPula para o final
messageSelector:selectMessageSelectorEnterSeleciona mensagem
diff:dismissDiffDialogEscapeFecha visualizador de diff
diff:previousSourceDiffDialogLeftFonte de diff anterior
diff:nextSourceDiffDialogRightPróxima fonte de diff
diff:previousFileDiffDialogUpArquivo anterior
diff:nextFileDiffDialogDownPróximo arquivo
diff:viewDetailsDiffDialogEnterVer detalhes
modelPicker:decreaseEffortModelPickerLeftDiminui nível de esforço
modelPicker:increaseEffortModelPickerRightAumenta nível de esforço
select:nextSelectDown, J, Ctrl+NPróxima opção
select:previousSelectUp, K, Ctrl+POpção anterior
select:acceptSelectEnterAceita seleção
select:cancelSelectEscapeCancela seleção
plugin:togglePluginSpaceAlterna plugin
plugin:installPluginIInstala plugins

Sintaxe de Teclas

O Claude Code usa uma sintaxe legível para definir combinações de teclas.

Modificadores

Combine teclas modificadoras com +:

  • ctrl ou control para a tecla Control
  • alt, opt ou option para Alt/Option
  • shift para Shift
  • meta, cmd ou command para Meta/Command

Exemplos:

ctrl+k          Modificador único + tecla
shift+tab       Shift + Tab
meta+p          Command/Meta + P
ctrl+shift+c    Múltiplos modificadores

Letras Maiúsculas e Shift

Uma letra maiúscula sozinha implica Shift. Escrever K nos seus bindings é o mesmo que escrever shift+k. Isso é especialmente útil para bindings no estilo Vim onde j e J (ou k e K) fazem coisas diferentes.

Um detalhe importante: letras maiúsculas com modificadores NÃO implicam Shift. Então ctrl+K é idêntico a ctrl+k. A maiúscula é tratada como puramente estilística quando modificadores estão presentes.

Sequências de Acordes

Acordes permitem criar atalhos com múltiplas teclas. Separe as teclas com um espaço:

ctrl+k ctrl+s Pressione Ctrl+K, solte, depois pressione Ctrl+S

Isso te dá um namespace muito maior para atalhos. Se você está ficando sem combinações de tecla única, acordes abrem centenas de possibilidades sem conflitar com bindings existentes.

Teclas Especiais

Use estes nomes para teclas não-alfanuméricas:

  • escape ou esc
  • enter ou return
  • tab
  • space
  • up, down, left, right
  • backspace, delete

Desvinculando Atalhos Padrão

Defina qualquer ação como null para desativá-la:

{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+s": null
      }
    }
  ]
}

Útil quando um atalho padrão conflita com seu terminal, sistema operacional ou uma ferramenta que você usa junto com o Claude Code. Você também pode desvincular um padrão e depois revincular a mesma tecla a uma ação diferente.

Atalhos Reservados

Dois atalhos são fixos e não podem ser revinculados:

AtalhoMotivo
Ctrl+CInterrupção/cancelamento fixo
Ctrl+DSaída fixa

Não tente revincular estes. O Claude Code não vai aceitar, e com razão. Ctrl+C como interrupção e Ctrl+D como saída são convenções Unix que todo usuário de terminal espera.

Conflitos com Multiplexadores de Terminal

Se você roda o Claude Code dentro do tmux, GNU screen ou outro multiplexador, cuidado com conflitos de tecla de prefixo:

AtalhoConflito
Ctrl+BPrefixo do tmux (pressione duas vezes para passar)
Ctrl+APrefixo do GNU screen
Ctrl+ZSuspensão de processo Unix (SIGTSTP)

A ação padrão task:background usa Ctrl+B, que conflita diretamente com o tmux. Se você é usuário de tmux, revincule imediatamente:

{
  "bindings": [
    {
      "context": "Task",
      "bindings": {
        "ctrl+b": null,
        "ctrl+shift+b": "task:background"
      }
    }
  ]
}

Essa é uma das fontes mais comuns de confusão para desenvolvedores que rodam o Claude Code dentro de sessões de terminal com multiplexadores.

Interação com Modo Vim

Quando o modo vim está ativado (alterne com /vim), keybindings e modo vim operam em camadas diferentes:

  • Modo vim controla a entrada de texto: movimento do cursor, modos (INSERT, NORMAL), movimentos e objetos de texto
  • Keybindings controlam ações da aplicação: alternar a lista de tarefas, enviar mensagens, abrir o seletor de modelo

A distinção chave é a tecla Escape. No modo vim, Escape alterna de INSERT para NORMAL. Ela não aciona chat:cancel. A maioria dos atalhos Ctrl+tecla passa pelo modo vim para o sistema de keybinding, então Ctrl+T ainda alterna sua lista de tarefas mesmo quando você está em modo NORMAL.

No modo NORMAL, pressionar ? mostra o menu de ajuda (comportamento vim padrão), não a ajuda do Claude Code.

Se você usa modos de planejamento intensamente e usa modo vim, considere vincular chat:thinkingToggle a um acorde que não conflite com movimentos vim. Para uma visão geral completa de como modo vim, comandos slash e outros recursos interativos se encaixam, veja o guia de modo interativo.

Validação e Diagnósticos

O Claude Code valida seu arquivo keybindings automaticamente e avisa sobre:

  • Erros de parse na sintaxe ou estrutura JSON
  • Nomes de contexto inválidos que não correspondem aos 17 contextos suportados
  • Conflitos com atalhos reservados se você tentar revincular Ctrl+C ou Ctrl+D
  • Conflitos com multiplexadores de terminal para Ctrl+B, Ctrl+A e Ctrl+Z
  • Bindings duplicados no mesmo contexto

Execute /doctor para ver todos os avisos de keybinding de uma vez. É a forma mais rápida de diagnosticar por que um atalho não está funcionando como esperado.

Exemplos Práticos de Configuração

Aqui estão configurações do mundo real que resolvem problemas comuns.

Configuração para Usuário do VS Code

Se você vem do VS Code e quer atalhos familiares:

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+k ctrl+s": "chat:stash",
        "ctrl+shift+p": "chat:modelPicker",
        "ctrl+g": "chat:externalEditor"
      }
    },
    {
      "context": "Global",
      "bindings": {
        "ctrl+shift+t": "app:toggleTodos"
      }
    }
  ]
}

Configuração Amigável com tmux

Evita todos os conflitos de prefixo do tmux:

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Task",
      "bindings": {
        "ctrl+b": null,
        "ctrl+shift+b": "task:background"
      }
    }
  ]
}

Configuração Mínima de Distrações

Desvincule atalhos que você fica pressionando por acidente:

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+s": null,
        "ctrl+u": null
      }
    }
  ]
}

Power User com Acordes

Use acordes para acessar recursos menos usados sem gastar combos de tecla única:

{
  "$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+k ctrl+t": "chat:thinkingToggle",
        "ctrl+k ctrl+m": "chat:modelPicker",
        "ctrl+k ctrl+e": "chat:externalEditor"
      }
    }
  ]
}

Isso mantém seus atalhos de tecla única mais usados limpos e ainda dá acesso rápido a tudo mais.

Construindo Sua Própria Configuração

Comece pequeno. Não tente remapear tudo de uma vez. Uma abordagem prática:

  1. Execute /keybindings para criar o arquivo de configuração
  2. Identifique seus 3 maiores problemas (atalhos conflitantes, atalhos ausentes, gatilhos acidentais)
  3. Corrija esses primeiro com bindings específicos
  4. Execute /doctor para validar
  5. Use o Claude Code por uma sessão completa e note qualquer fricção restante
  6. Itere adicionando ou ajustando bindings conforme necessário

O objetivo não é personalizar cada atalho possível. É eliminar a fricção entre sua memória muscular e o comportamento do Claude Code. A maioria dos desenvolvedores precisa de apenas 5 a 10 bindings personalizados para se sentir completamente em casa. O Code Kit do ClaudeFast vem com um settings.json pré-ajustado que inclui padrões amigáveis a keybindings junto com seus comandos slash e hooks, então você começa com uma base sólida em vez de construir do zero.

Se você está construindo uma configuração mais abrangente do Claude Code, seus keybindings funcionam junto com a configuração do CLAUDE.md e comandos slash personalizados para criar um ambiente totalmente personalizado. Os keybindings cuidam da interface física. Os arquivos de configuração cuidam da interface comportamental. Juntos, fazem o Claude Code parecer que foi construído especificamente para o seu fluxo de trabalho.

More in Toolkit

  • Guia da Status Line
    Configure uma status line no Claude Code para ver o nome do modelo, branch do git, custo da sessão e uso do contexto. Configuração via settings.json, input JSON, scripts em bash, Python e Node.js.
  • Otimização de SEO e GEO com IA
    Um resumo sobre Generative Engine Optimization: como fazer com que o teu conteúdo seja citado dentro das respostas do ChatGPT, Claude e Perplexity, em vez de apenas aparecer no Google.
  • Claude Code vs Cursor em 2026
    Uma comparação lado a lado entre Claude Code e Cursor em 2026: modelos de agente, janelas de contexto, planos de preço e como cada ferramenta se encaixa em diferentes fluxos de trabalho.
  • Extensão Claude Code para VS Code
    A extensão VS Code da Anthropic coloca Claude Code dentro da barra lateral do editor como um painel com ícone Spark, com diffs inline, modo de plano, subagentes e suporte MCP.
  • Keybindings do Claude Code
    Reconfigura os atalhos do Claude Code via keybindings.json. 17 contextos, sintaxe de teclas, sequências de acordes, stacks de modificadores, como remover padrões, configurações prontas a usar.
  • OpenClaw vs Claude Code
    OpenClaw vs Claude Code: um assistente de vida ligado a apps de mensagens versus um agente de código em terminal que lê o seu repositório. Quando cada um merece um lugar no seu workflow.

Pare de configurar. Comece a construir.

Templates SaaS com orquestração de IA.

On this page

Começando com Keybindings Personalizados
Entendendo Contextos
Referência Completa de Ações
Ações Globais
Ações de Chat
Ações de Histórico
Ações de Autocompletar
Ações de Confirmação
Ações de Transcrição
Ações de Pesquisa no Histórico
Ações de Tarefa
Ações de Tema, Ajuda e Configurações
Ações de Navegação
Sintaxe de Teclas
Modificadores
Letras Maiúsculas e Shift
Sequências de Acordes
Teclas Especiais
Desvinculando Atalhos Padrão
Atalhos Reservados
Conflitos com Multiplexadores de Terminal
Interação com Modo Vim
Validação e Diagnósticos
Exemplos Práticos de Configuração
Configuração para Usuário do VS Code
Configuração Amigável com tmux
Configuração Mínima de Distrações
Power User com Acordes
Construindo Sua Própria Configuração

Pare de configurar. Comece a construir.

Templates SaaS com orquestração de IA.