Build This Now
Build This Now
Atalhos de TecladoGuia da Status Line
Extensão Claude Code para VS CodeClaude Code vs Cursor em 2026Cursor vs CopilotOpenClaw vs Claude CodeOpenCode vs Claude CodeGemini CLI vs Claude CodeOtimização de SEO e GEO com IAvs GitHub Copilot7 Melhores Alternativas ao Claude Code em 2026Claude Code vs Aider em 2026Claude Code vs Cline em 2026Claude Code vs Devin em 2026Melhores Ferramentas de IA para Programar para Fundadores Solo em 2026Claude Code vs Kirovs Ampvs Augment Codevs Zedvs Roo Codevs WarpBest AI SaaS StackBolt, Lovable, v0Claude Code BoilerplateClaude Code Starter Kitvs Antigravityvs CodexCursor vs Codexvs JunieShipFast vs Makerkitvs v0Cursor vs Windsurfvs Grok BuildHeadroom CompressionKeybindings do Claude CodeLovable for FoundersSpaceX Buys CursorConfiguração da Linha de Status do Claude Codevs Windsurfvs Lovablevs Bolt
Skills, Subagents, HooksSubagent Sweet SpotCLAUDE.md Best PracticesFix Context Limit
speedy_devvkoen_salo
Blog/Toolkit/Extensions/Keybindings Setup

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.

Pare de configurar. Comece a construir.

Templates SaaS com orquestração de IA.

Veja o que construímos para empresas →
speedy_devvWritten by speedy_devvPublished Feb 27, 2026Toolkit hubExtensions index

Os teus dedos esperam que Ctrl+K abra uma paleta de comandos. Claude Code tem outras ideias. Cada reflexo errado custa um segundo de pensamento e quebra o ritmo.

O custo acumula. Uma sessão longa de Claude Code funciona com memória muscular, e os padrões errados lutam contra essa memória muscular em cada tecla. Anos de hábitos com VS Code, Vim ou Emacs não se desaprendem por comando. Retreinar as mãos para corresponder ao layout de atalhos de outra pessoa é esforço desperdiçado.

A solução está integrada. Um ficheiro JSON, organizado por contexto, trata de todos os atalhos que te importam. Tens sequências de acordes, stacks de modificadores, e a opção de eliminar um padrão de vez. As edições entram em vigor no momento em que guardas. Aqui está como configurar tudo para que a ferramenta pareça tua.

Primeiros Passos com Keybindings Personalizados

Escreve /keybindings dentro do Claude Code. Esse slash command cria ou abre ~/.claude/keybindings.json por ti. O ficheiro vive na pasta habitual ~/.claude/ ao lado do resto das tuas configurações.

A forma do ficheiro é simples:

{
  "$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 chaves de topo nível fazem todo o trabalho:

  • $schema - Opcional. Apontar para o URL do JSON Schema dá ao teu editor autocompletar e validação gratuitos. Vale a pena manter.
  • $docs - Opcional. Um link para documentação para consultas rápidas.
  • bindings - O array onde vivem os teus atalhos. Uma entrada por contexto.

Esse campo de schema é uma vantagem silenciosa. Qualquer editor com suporte a JSON Schema sugere então ações válidas e nomes de contexto enquanto escreves.

Os ficheiros guardados são detetados em tempo real. Edita, carrega em guardar, e os novos bindings funcionam imediatamente. Sem reinício.

Como Funcionam os Contextos

Cada binding vive dentro de um contexto, e o contexto decide quando o atalho está ativo. Um binding Chat só dispara quando o input principal do chat tem foco. Reutiliza as mesmas teclas em contextos diferentes e cada uma pode fazer algo diferente.

Existem 17 contextos no Claude Code:

ContextoQuando Está Ativo
GlobalEm todo o lado na app
ChatÁrea de input principal do chat
AutocompleteMenu de autocompletar está aberto
SettingsMenu de configurações está aberto
ConfirmationDiálogos de permissão e confirmação
TabsComponentes de navegação por tabs
HelpMenu de ajuda está visível
TranscriptVisualizador de transcript
HistorySearchModo de pesquisa de histórico (Ctrl+R)
TaskTarefa em segundo plano está a correr
ThemePickerDiálogo de seleção de tema
AttachmentsNavegação da barra de imagens/anexos
FooterNavegação do indicador de rodapé
MessageSelectorSeleção de mensagem no diálogo de rewind
DiffDialogNavegação do 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, gerir)

Global é o caso especial. Um atalho aqui dispara independentemente do que estás a ver. Usa-o com cuidado. Um Ctrl+K global vai disparar dentro do chat, dentro do autocompletar e dentro de uma revisão de diff.

Todas as Ações, Listadas

Os nomes de ações seguem o padrão namespace:ação. Abaixo estão todas as ações em todos os contextos, com a tecla padrão.

Ações Globais

Estas disparam em qualquer lugar:

AçãoPadrãoO Que Faz
app:interruptCtrl+CCancela a operação atual
app:exitCtrl+DSai do Claude Code
app:toggleTodosCtrl+TLiga/desliga visibilidade da lista de tarefas
app:toggleTranscriptCtrl+OLiga/desliga transcript detalhado

Utilizadores frequentes da lista de tarefas carregam app:toggleTodos o dia todo. Se Ctrl+T entra em conflito com o teu terminal, move-o para um lugar mais amigável.

Ações do Chat

Onde aterra a maioria das teclas:

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

No Windows sem VT mode, chat:cycleMode recua para Meta+M. Aplica-se a builds de Node mais antigas do que 24.2.0/22.17.0, e Bun mais antigo do que 1.2.23. O atalho controla os modos de permissão, que definem o que Claude tem permissão para fazer.

Ações de Histórico

Para navegar de volta por prompts anteriores:

AçãoPadrãoO Que Faz
history:searchCtrl+RAbre pesquisa de histórico
history:previousCimaItem de histórico anterior
history:nextBaixoPróximo item de histórico

Ações de Autocompletar

Ativas enquanto o menu de sugestões está aberto:

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

Ações de Confirmação

Bindings para diálogos de permissão e aprovação:

AçãoPadrãoO Que Faz
confirm:yesY, EnterConfirma ação
confirm:noN, EscapeRecusa ação
confirm:previousCimaOpção anterior
confirm:nextBaixoPróxima opção
confirm:nextFieldTabPróximo campo
confirm:previousField(sem binding)Campo anterior
confirm:cycleModeShift+TabCicla modos de permissão
confirm:toggleExplanationCtrl+ELiga/desliga explicação de permissão
permission:toggleDebugCtrl+DLiga/desliga info de debug de permissão

Ações do Transcript

AçãoPadrãoO Que Faz
transcript:toggleShowAllCtrl+ELiga/desliga mostrar todo o conteúdo
transcript:exitCtrl+C, EscapeSai da vista de transcript

Ações de Pesquisa de Histórico

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

Ações de Tarefas

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

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

AçãoContextoPadrãoO Que Faz
theme:toggleSyntaxHighlightingThemePickerCtrl+TLiga/desliga highlighting de sintaxe
help:dismissHelpEscapeFecha menu de ajuda
settings:searchSettings/Entra em modo de pesquisa
settings:retrySettingsRRecarrega dados de uso

Ações de Navegação

Tabs, anexos, rodapé, diffs, seletor de modelo, selects e o seletor de mensagens vivem aqui:

AçãoContextoPadrãoO Que Faz
tabs:nextTabsTab, DireitaPróxima tab
tabs:previousTabsShift+Tab, EsquerdaTab anterior
attachments:nextAttachmentsDireitaPróximo anexo
attachments:previousAttachmentsEsquerdaAnexo anterior
attachments:removeAttachmentsBackspace, DeleteRemove anexo
attachments:exitAttachmentsBaixo, EscapeSai da barra de anexos
footer:nextFooterDireitaPróximo item do rodapé
footer:previousFooterEsquerdaItem anterior do rodapé
footer:openSelectedFooterEnterAbre item selecionado
footer:clearSelectionFooterEscapeLimpa seleção
messageSelector:upMessageSelectorCima, KMove para cima na lista
messageSelector:downMessageSelectorBaixo, JMove para baixo na lista
messageSelector:topMessageSelectorCtrl+Cima, Shift+CimaSalta para o topo
messageSelector:bottomMessageSelectorCtrl+Baixo, Shift+BaixoSalta para o fundo
messageSelector:selectMessageSelectorEnterSeleciona mensagem
diff:dismissDiffDialogEscapeFecha o visualizador de diff
diff:previousSourceDiffDialogEsquerdaFonte de diff anterior
diff:nextSourceDiffDialogDireitaPróxima fonte de diff
diff:previousFileDiffDialogCimaFicheiro anterior
diff:nextFileDiffDialogBaixoPróximo ficheiro
diff:viewDetailsDiffDialogEnterVer detalhes
modelPicker:decreaseEffortModelPickerEsquerdaDiminui nível de esforço
modelPicker:increaseEffortModelPickerDireitaAumenta nível de esforço
select:nextSelectBaixo, J, Ctrl+NPróxima opção
select:previousSelectCima, K, Ctrl+POpção anterior
select:acceptSelectEnterAceita seleção
select:cancelSelectEscapeCancela seleção
plugin:togglePluginSpaceLiga/desliga plugin
plugin:installPluginIInstala plugins

Sintaxe de Teclas

A sintaxe para definir combinações de teclas é fácil de ler.

Modificadores

Junta teclas modificadoras à tecla alvo 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

Alguns exemplos:

ctrl+k          Single modifier + key
shift+tab       Shift + Tab
meta+p          Command/Meta + P
ctrl+shift+c    Multiple modifiers

Letras Maiúsculas e Shift

Uma letra maiúscula isolada já significa Shift. Por isso K num binding é o mesmo que shift+k. Útil para layouts ao estilo Vim onde j e J (ou k e K) mapeiam para ações diferentes.

Um ponto a ter em atenção. Quando um modificador está presente, a capitalização deixa de importar. ctrl+K e ctrl+k são o mesmo binding. Com modificadores presentes, a maiúscula é apenas cosmética.

Sequências de Acordes

Os acordes dão-te atalhos multi-tecla. Coloca um espaço entre as teclas:

ctrl+k ctrl+s Press Ctrl+K, release, then press Ctrl+S

Isso abre muito mais espaço do que bindings de tecla única. Ficaste sem combos de teclas livres? Os acordes adicionam centenas de novas opções sem pisar em nada.

Teclas Especiais

As teclas não-caracter têm os seus próprios nomes:

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

Desativar Atalhos Padrão

Define a ação como null e o padrão desaparece:

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

Útil quando um padrão entra em conflito com o teu terminal, o teu sistema operativo, ou outra ferramenta a correr ao lado do Claude Code. Também podes anular um padrão e depois dar a essa mesma tecla uma nova ação.

Atalhos Reservados

Duas teclas são programadas de forma rígida. Não podem ser reconfiguradas:

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

Claude Code vai rejeitar qualquer tentativa de remapear estas, e faz bem. Todos os utilizadores de terminal esperam que Ctrl+C interrompa e Ctrl+D saia. São convenções Unix.

Conflitos com Multiplexers de Terminal

A correr Claude Code dentro de tmux, GNU screen, ou um multiplexer similar? As teclas de prefixo vão causar problemas:

AtalhoConflito
Ctrl+Bprefixo do tmux (carrega duas vezes para enviar)
Ctrl+Aprefixo do GNU screen
Ctrl+Zsuspensão de processo Unix (SIGTSTP)

task:background vem com Ctrl+B, que é exatamente o prefixo do tmux. Se vives no tmux, reconfigura-o no primeiro dia:

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

Esse conflito apanha muitos developers que correm Claude Code dentro de sessões com multiplexer.

Interação com Modo Vim

Liga o modo vim com /vim e funciona numa camada separada dos keybindings:

  • Modo Vim trata da edição de texto. Movimento do cursor, modos INSERT e NORMAL, motions, text objects.
  • Keybindings tratam de ações ao nível da app. Ligar/desligar a lista de tarefas, enviar uma mensagem, abrir o seletor de modelo.

A tecla Escape é a divisão mais clara. Dentro do modo vim, Escape sai do INSERT e vai para NORMAL. Não chama chat:cancel. A maioria dos atalhos Ctrl+tecla passa diretamente pelo modo vim para a camada de keybindings, por isso Ctrl+T ainda liga/desliga a lista de tarefas mesmo a partir do modo NORMAL.

No modo NORMAL, ? abre a ajuda ao estilo vim, não o ecrã de ajuda do Claude Code.

Utilizadores frequentes do modo de pensamento em modo vim devem colocar chat:thinkingToggle por detrás de um acorde que fique longe dos motions do vim. O guia de modo interativo cobre como o modo vim, slash commands e o resto das funcionalidades interativas se encaixam.

Validação e Diagnósticos

Claude Code verifica o teu ficheiro de keybindings em cada gravação e sinaliza:

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

Corre /doctor para ver todos os avisos de keybinding num só lugar. É o caminho mais rápido para perceber por que um atalho se comporta mal.

Exemplos de Configuração Práticos

Algumas configurações retiradas de setups reais.

Configuração para Utilizador de VS Code

A vir do VS Code e quer os atalhos habituais de volta:

{
  "$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"
      }
    }
  ]
}

Setup Amigável com tmux

Evita o conflito com o 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"
      }
    }
  ]
}

Setup Minimalista sem Distrações

Elimina os atalhos que os teus dedos continuam a acionar 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

Coloca funcionalidades menos usadas por detrás de acordes para que os combos de tecla única fiquem livres:

{
  "$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"
      }
    }
  ]
}

As tuas ações mais usadas mantêm os seus bindings de uma tecla. Todo o resto está a um acorde de distância.

Construir a Tua Própria Configuração

Vai devagar. Remapear a app toda de uma vez é uma armadilha. Aqui está uma abordagem mais sensata:

  1. Corre /keybindings para gerar o ficheiro de configuração
  2. Escolhe os teus três piores problemas (conflitos de atalhos, bindings em falta, disparos acidentais)
  3. Corrige esses três primeiro com entradas específicas
  4. Corre /doctor para validar o ficheiro
  5. Passa uma sessão completa de Claude Code nele e nota o que ainda causa fricção
  6. Itera adicionando ou ajustando bindings à medida que a fricção aparece

Personalizar todos os atalhos possíveis não é o objetivo. O objetivo é fechar a diferença entre o que as tuas mãos esperam e o que Claude Code faz. Cinco a dez bindings costumam ser suficientes para a ferramenta parecer nativa.

Os keybindings tratam do lado físico. CLAUDE.md e slash commands personalizados tratam do lado comportamental. Liga os dois e Claude Code começa a parecer que foi construído à volta do teu fluxo de trabalho.

Continue in Extensions

  • 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.
  • Melhores Ferramentas de IA para Programar para Fundadores Solo em 2026
    As melhores ferramentas de IA para programar para fundadores solo em 2026, ordenadas pelo que realmente lança um produto: Claude Code, Cursor, Cline, Aider e um kit de SaaS pré-construído. Escolhas honestas para fundadores técnicos e não técnicos.
  • 7 Melhores Alternativas ao Claude Code em 2026
    As melhores alternativas ao Claude Code em 2026: Cursor, Windsurf, Cline, Aider, GitHub Copilot, Devin e Gemini CLI. Comparação honesta de preço, autonomia e a quem cada uma serve.
  • The Best Stack for an AI SaaS in 2026 (Next.js, Supabase, Stripe, RLS)
    The best stack for an AI SaaS in 2026: Next.js 16, Supabase, Stripe, Vercel, with pgvector and RLS. Free until you have revenue.
  • Bolt vs Lovable vs v0: Which AI App Builder to Ship With?
    Bolt vs Lovable vs v0 compared: v0 wins on UI, Lovable on fastest full-stack MVP, Bolt on code control and mobile. Plus the honest production caveat.
  • Claude Code Boilerplate vs the Code Kit: Harness, Not Template
    A Claude Code boilerplate is starter code you babysit. A harness tells Claude how to build. Here is the difference and why it changes output quality.

More from Toolkit

  • CLAUDE.md, Skills, Subagents, Hooks: When to Use Which
    Claude Code skills vs subagents vs hooks vs CLAUDE.md: a plain mental model for picking the right primitive, with token costs and examples.
  • Claude Code Subagents: The 3 to 5 Agent Sweet Spot
    Claude code subagents work best at 3-5 concurrent agents. Here is why that ceiling exists, how to set them up, and what to use past it.
  • CLAUDE.md Best Practices: The File That Makes Claude Code Reliable
    CLAUDE.md best practices: keep it under 200 lines, write it by hand, and use hooks when you need real enforcement, not advice.
  • How to Fix Claude Code Running Out of Context
    Claude Code running out of context is a session design problem. Fix it with /compact, lean CLAUDE.md, skills, and subagents, not a bigger window.

Pare de configurar. Comece a construir.

Templates SaaS com orquestração de IA.

Veja o que construímos para empresas →

Headroom Compression

Headroom is an open-source context compression layer that strips tool outputs, logs, and RAG chunks before they hit the model. Install it and wire it into Claude Code to cut token spend.

Lovable for Founders

Lovable vs Claude Code: which AI tool fits a non-technical founder. Honest tradeoffs on speed, cost, security, and when to switch.

On this page

Primeiros Passos com Keybindings Personalizados
Como Funcionam os Contextos
Todas as Ações, Listadas
Ações Globais
Ações do Chat
Ações de Histórico
Ações de Autocompletar
Ações de Confirmação
Ações do Transcript
Ações de Pesquisa de Histórico
Ações de Tarefas
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
Desativar Atalhos Padrão
Atalhos Reservados
Conflitos com Multiplexers de Terminal
Interação com Modo Vim
Validação e Diagnósticos
Exemplos de Configuração Práticos
Configuração para Utilizador de VS Code
Setup Amigável com tmux
Setup Minimalista sem Distrações
Power User com Acordes
Construir a Tua Própria Configuração

Pare de configurar. Comece a construir.

Templates SaaS com orquestração de IA.

Veja o que construímos para empresas →