4 4
5# Configure seu terminal para Claude Code5# Configure seu terminal para Claude Code
6 6
7> Corrija Shift+Enter para quebras de linha, obtenha um sinal sonoro do terminal quando Claude terminar, configure tmux, corresponda o tema de cores e ative o modo Vim na CLI do Claude Code.7> Corrija Shift+Enter para novas linhas, obtenha um sinal sonoro do terminal quando Claude terminar, configure tmux, corresponda ao tema de cores e ative o modo Vim na CLI do Claude Code.
8 8
9Claude Code funciona em qualquer terminal sem configuração. Esta página é para quando algo específico não está se comportando da forma que você espera. Encontre seu sintoma abaixo. Se tudo já se sente certo, você não precisa desta página.9Claude Code funciona em qualquer terminal sem configuração. Esta página é para quando algo específico não está se comportando da forma que você espera. Encontre seu sintoma abaixo. Se tudo já se sentir certo, você não precisa desta página.
10 10
11* [Shift+Enter envia em vez de inserir uma quebra de linha](#enter-multiline-prompts)11* [Shift+Enter envia em vez de inserir uma nova linha](#enter-multiline-prompts)
12* [Atalhos da tecla Option não funcionam no macOS](#enable-option-key-shortcuts-on-macos)12* [Atalhos de tecla Option não funcionam no macOS](#enable-option-key-shortcuts-on-macos)
13* [Sem som ou alerta quando Claude termina](#get-a-terminal-bell-or-notification)13* [Sem som ou alerta quando Claude termina](#get-a-terminal-bell-or-notification)
14* [Você executa Claude Code dentro do tmux](#configure-tmux)14* [Você executa Claude Code dentro do tmux](#configure-tmux)
15* [A exibição pisca ou a rolagem volta para cima](#switch-to-fullscreen-rendering)15* [Backspace deleta uma palavra inteira no Windows](#fix-backspace-deleting-a-whole-word-on-windows)
16* [A exibição cintila ou o scrollback salta](#switch-to-fullscreen-rendering)
16* [Você quer teclas Vim no prompt](#edit-prompts-with-vim-keybindings)17* [Você quer teclas Vim no prompt](#edit-prompts-with-vim-keybindings)
17 18
18Esta página é sobre fazer seu terminal enviar os sinais corretos para Claude Code. Para alterar quais teclas Claude Code responde, consulte [atalhos de teclado](/pt/keybindings) em vez disso.19Esta página é sobre fazer seu terminal enviar os sinais corretos para Claude Code. Para alterar quais teclas Claude Code responde, consulte [atalhos de teclado](/docs/pt/keybindings) em vez disso.
19 20
20<h2 id="enter-multiline-prompts">21<h2 id="enter-multiline-prompts">
21 Inserir prompts multilinhas22 Inserir prompts multilinhas
22</h2>23</h2>
23 24
24Pressionar Enter envia sua mensagem. Para adicionar uma quebra de linha sem enviar, pressione Ctrl+J, ou digite `\` e depois pressione Enter. Ambos funcionam em todos os terminais sem configuração.25Pressionar Enter envia sua mensagem. Para adicionar uma quebra de linha sem enviar, pressione Ctrl+J, ou digite `\` e depois pressione Enter. Ambos funcionam em todo terminal sem necessidade de configuração.
25 26
26Na maioria dos terminais você também pode pressionar Shift+Enter, mas o suporte varia por emulador de terminal:27Na maioria dos terminais você também pode pressionar Shift+Enter, mas o suporte varia de acordo com o emulador de terminal:
27 28
28| Terminal | Shift+Enter para quebra de linha |29| Terminal | Shift+Enter para nova linha |
29| :---------------------------------------------------------------------- | :--------------------------------------------- |30| :---------------------------------------------------------------------- | :--------------------------------------------- |
30| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funciona sem configuração |31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Funciona sem configuração |
31| VS Code, Cursor, Devin Desktop, Alacritty, Zed | Execute `/terminal-setup` uma vez |32| VS Code, Cursor, Devin Desktop, Alacritty, Zed | Execute `/terminal-setup` uma vez |
32| gnome-terminal, JetBrains IDEs como PyCharm e Android Studio | Não disponível; use Ctrl+J ou `\` depois Enter |33| gnome-terminal, JetBrains IDEs como PyCharm e Android Studio | Não disponível; use Ctrl+J ou `\` depois Enter |
33 34
34Para VS Code, Cursor, Devin Desktop, Alacritty e Zed, `/terminal-setup` escreve Shift+Enter e outros atalhos de teclado no arquivo de configuração do terminal. As vinculações existentes são mantidas no lugar; se você vir uma mensagem como `VSCode terminal Shift+Enter key binding already configured`, nenhuma alteração foi feita. Execute `/terminal-setup` diretamente no terminal do host em vez de dentro do tmux ou screen, pois ele precisa escrever na configuração do terminal do host.35Para VS Code, Cursor, Devin Desktop, Alacritty e Zed, `/terminal-setup` escreve um atalho de teclado Shift+Enter no arquivo de configuração do terminal. Na primeira execução você vê uma confirmação como `Installed VSCode terminal Shift+Enter key binding`. Os bindings existentes são mantidos no lugar; se você vir uma mensagem como `VSCode terminal Shift+Enter key binding already configured`, nenhuma alteração foi feita. Execute `/terminal-setup` diretamente no terminal do host em vez de dentro de tmux ou screen, pois ele precisa escrever na configuração do terminal do host.
35 36
36Em VS Code, Cursor e Devin Desktop, `/terminal-setup` também atualiza duas configurações do editor: define `terminal.integrated.gpuAcceleration` como `"off"` para evitar texto distorcido no terminal integrado, e define `terminal.integrated.mouseWheelScrollSensitivity` para rolagem mais suave no [modo de tela cheia](/pt/fullscreen). Para desfazer a alteração de aceleração de GPU, defina-a de volta para `"auto"` e recarregue a janela do editor.37No VS Code, Cursor e Devin Desktop, `/terminal-setup` também atualiza duas configurações do editor: define `terminal.integrated.gpuAcceleration` para `"off"` para evitar texto distorcido no terminal integrado, e define `terminal.integrated.mouseWheelScrollSensitivity` para rolagem mais suave no [modo tela cheia](/docs/pt/fullscreen). Para desfazer a alteração de aceleração de GPU, defina-a de volta para `"auto"` e recarregue a janela do editor.
37 38
38Se você estiver executando dentro do tmux, Shift+Enter também requer a [configuração do tmux abaixo](#configure-tmux) mesmo quando o terminal externo a suporta.39No Zed, `/terminal-setup` atualiza seu `keymap.json` no local:
39 40
40Para vincular quebra de linha a uma tecla diferente, ou para trocar o comportamento para que Enter insira uma quebra de linha e Shift+Enter envie, mapeie as ações `chat:newline` e `chat:submit` em seu [arquivo de atalhos de teclado](/pt/keybindings).41* Se o keymap já tiver bindings e nenhum deles for um Terminal `shift-enter`, Claude Code primeiro faz um backup para uma cópia no mesmo diretório, como `keymap.json.1a2b3c4d.bak`, depois mescla o binding Shift+Enter em seu keymap, mantendo seus outros atalhos de teclado e comentários
42* Se Claude Code não conseguir ler ou analisar o keymap, não conseguir fazer backup, ou não conseguir verificar o resultado mesclado, ele [deixa o arquivo inalterado e imprime o bloco de binding para você adicionar você mesmo](/docs/pt/errors#terminal-setup-left-your-zed-keymap-unchanged)
43
44Se você está executando dentro de tmux, Shift+Enter também requer a [configuração de tmux abaixo](#configure-tmux) mesmo quando o terminal externo a suporta.
45
46Para vincular nova linha a uma tecla diferente, ou para trocar o comportamento para que Enter insira uma nova linha e Shift+Enter envie, mapeie as ações `chat:newline` e `chat:submit` em seu [arquivo de atalhos de teclado](/docs/pt/keybindings).
41 47
42<h2 id="enable-option-key-shortcuts-on-macos">48<h2 id="enable-option-key-shortcuts-on-macos">
43 Ativar atalhos de tecla Option no macOS49 Ativar atalhos de teclado Option no macOS
44</h2>50</h2>
45 51
46Alguns atalhos do Claude Code usam a tecla Option, como Option+Enter para uma quebra de linha ou Option+P para trocar modelos. No macOS, a maioria dos terminais não envia Option como um modificador por padrão, então esses atalhos não funcionam até que você o ative. A configuração do terminal para isso geralmente é rotulada como "Use Option as Meta Key"; Meta é o nome histórico do Unix para a tecla agora rotulada como Option ou Alt.52Alguns atalhos de teclado do Claude Code usam a tecla Option, como Option+Enter para uma nova linha ou Option+P para alternar modelos. No macOS, a maioria dos terminais não envia Option como um modificador por padrão, portanto esses atalhos não funcionam até que você o ative. A configuração do terminal para isso geralmente é rotulada como "Use Option as Meta Key"; Meta é o nome histórico do Unix para a tecla agora rotulada como Option ou Alt.
47 53
48<Tabs>54<Tabs>
49 <Tab title="Apple Terminal">55 <Tab title="Apple Terminal">
50 Abra Configurações → Perfis → Teclado e marque "Use Option as Meta Key".56 Abra Configurações → Perfis → Teclado e marque "Use Option as Meta Key".
51 57
52 Se você aceitou o prompt de primeira execução do Claude Code que oferecia "Option+Enter para quebras de linha e sino visual", isso já foi feito. Esse prompt executa `/terminal-setup` para você, que ativa Option como Meta e muda o sino de áudio para um flash de tela visual em seu perfil do Apple Terminal.58 Se você aceitou o prompt de configuração do terminal na primeira execução do Claude Code, isso já foi feito. Esse prompt executa `/terminal-setup` para você, que ativa Option como Meta e desativa o sino audível no seu perfil do Apple Terminal.
59
60 No [modo leitor de tela](/docs/pt/accessibility), `/terminal-setup` deixa a configuração do sino inalterada para que o sino do terminal permaneça audível. Antes da v2.1.211, `/terminal-setup` desativava o sino mesmo no modo leitor de tela. Se uma execução anterior desativou o sino, ative-o novamente em Configurações → Perfis → Avançado → "Audible bell".
53 </Tab>61 </Tab>
54 62
55 <Tab title="iTerm2">63 <Tab title="iTerm2">
56 Abra Configurações → Perfis → Teclas → Geral e defina a tecla Option Esquerda e a tecla Option Direita como "Esc+".64 Abra Configurações → Perfis → Teclas → Geral e defina a tecla Option esquerda e a tecla Option direita como "Esc+".
57 65
58 Executar `/terminal-setup` no iTerm2 ativa "Applications in terminal may access clipboard" em Configurações → Geral → Seleção para que o comando `/copy` possa escrever na sua área de transferência do sistema. O comando detecta iTerm2 mesmo quando executado dentro do tmux. Reinicie o iTerm2 para que a alteração tenha efeito.66 Executar `/terminal-setup` no iTerm2 ativa "Applications in terminal may access clipboard" em Configurações → Geral → Seleção para que o comando `/copy` possa escrever na sua área de transferência do sistema. O comando detecta iTerm2 mesmo quando executado dentro do tmux. Reinicie o iTerm2 para que a alteração tenha efeito.
59 </Tab>67 </Tab>
66Para Ghostty, Kitty e outros terminais, procure por uma configuração Option-as-Alt ou Option-as-Meta no arquivo de configuração do terminal.74Para Ghostty, Kitty e outros terminais, procure por uma configuração Option-as-Alt ou Option-as-Meta no arquivo de configuração do terminal.
67 75
68<h2 id="get-a-terminal-bell-or-notification">76<h2 id="get-a-terminal-bell-or-notification">
69 Obtenha um sino de terminal ou notificação77 Obtenha um sinal sonoro do terminal ou notificação
70</h2>78</h2>
71 79
72Quando Claude termina uma tarefa ou pausa para um prompt de permissão, ele dispara um evento de notificação. Exibir isso como um sino de terminal ou notificação de desktop permite que você mude para outro trabalho enquanto uma tarefa longa é executada.80Quando Claude termina uma tarefa ou pausa para um prompt de permissão, e você parece estar longe do terminal, ele dispara um evento de notificação. Veja [quando cada tipo de notificação é disparado](/docs/pt/hooks#notification) para o tempo exato. Exibir isso como um sinal sonoro do terminal ou notificação de desktop permite que você mude para outro trabalho enquanto uma tarefa longa é executada.
73 81
74Por padrão, Claude Code envia uma notificação de desktop apenas em Ghostty, Kitty e iTerm2. Em outros terminais, defina [`preferredNotifChannel`](/pt/settings#available-settings) como `"terminal_bell"` para tocar o sino do terminal, ou configure um [hook de Notificação](#play-a-sound-with-a-notification-hook) para um som personalizado ou comando.82Por padrão, Claude Code envia uma notificação de desktop apenas em Ghostty, Kitty e iTerm2. Em outros terminais, defina [`preferredNotifChannel`](/docs/pt/settings-reference#preferrednotifchannel) como `"terminal_bell"` para tocar o sinal sonoro do terminal, ou configure um [hook de Notificação](#play-a-sound-with-a-notification-hook) para um som personalizado ou comando. A seguinte entrada de configurações ativa o sinal sonoro do terminal:
83
84```json ~/.claude/settings.json theme={null}
85{
86 "preferredNotifChannel": "terminal_bell"
87}
88```
75 89
76A notificação de desktop chega à sua máquina local via SSH, portanto uma sessão remota ainda pode alertá-lo. Ghostty e Kitty a encaminham para seu centro de notificações do SO sem configuração adicional. iTerm2 requer que você ative o encaminhamento:90A notificação de desktop chega à sua máquina local via SSH, portanto uma sessão remota ainda pode alertá-lo. Ghostty e Kitty a encaminham para seu centro de notificações do SO sem configuração adicional. iTerm2 requer que você ative o encaminhamento:
77 91
85 </Step>99 </Step>
86</Steps>100</Steps>
87 101
88Se as notificações ainda não aparecerem, confirme que seu aplicativo de terminal tem permissão de notificação nas configurações do seu SO, e se você estiver executando dentro do tmux, [ative passthrough](#configure-tmux).102Se as notificações ainda não aparecerem, confirme que seu aplicativo de terminal tem permissão de notificação nas configurações do SO, e se você está executando dentro do tmux, [ative passthrough](#configure-tmux).
89 103
90<h3 id="play-a-sound-with-a-notification-hook">104<h3 id="play-a-sound-with-a-notification-hook">
91 Play a sound with a Notification hook105 Reproduza um som com um hook de Notification
92</h3>106</h3>
93 107
94Em qualquer terminal você pode configurar um [hook de Notificação](/pt/hooks-guide#get-notified-when-claude-needs-input) para reproduzir um som ou executar um comando personalizado quando Claude precisar de sua atenção. Hooks são executados junto com a notificação de desktop em vez de substituí-la, portanto terminais que não recebem uma notificação de desktop, como Warp ou o terminal integrado do VS Code, podem usar um hook ou definir `preferredNotifChannel` como `"terminal_bell"` em vez disso.108Em qualquer terminal, você pode configurar um [hook de Notification](/docs/pt/hooks-guide#get-notified-when-claude-needs-input) para reproduzir um som ou executar um comando personalizado quando Claude precisar de sua atenção. Hooks são executados junto com a notificação integrada em vez de substituí-la, portanto terminais que não recebem uma notificação de desktop, como Warp ou o terminal integrado do VS Code, podem usar um hook ou definir `preferredNotifChannel` como `"terminal_bell"` em vez disso.
95 109
96O exemplo abaixo reproduz um som do sistema no macOS. O guia vinculado tem comandos de notificação de desktop para macOS, Linux e Windows.110O exemplo abaixo reproduz um som do sistema no macOS. O guia vinculado tem comandos de notificação de desktop para macOS, Linux e Windows.
97 111
108```122```
109 123
110<h2 id="configure-tmux">124<h2 id="configure-tmux">
111 Configure tmux125 Configurar tmux
112</h2>126</h2>
113 127
114Quando Claude Code é executado dentro do tmux, duas coisas quebram por padrão: Shift+Enter envia em vez de inserir uma quebra de linha, e notificações de desktop e a [barra de progresso](/pt/settings#available-settings) nunca chegam ao terminal externo. Adicione estas linhas a `~/.tmux.conf`, depois execute `tmux source-file ~/.tmux.conf` para aplicá-las ao servidor em execução:128Quando Claude Code é executado dentro do tmux, duas coisas quebram por padrão: Shift+Enter envia em vez de inserir uma nova linha, e notificações de desktop e a [barra de progresso](/docs/pt/settings-reference#terminalprogressbarenabled) nunca chegam ao terminal externo. Adicione estas linhas a `~/.tmux.conf`, depois execute `tmux source-file ~/.tmux.conf` para aplicá-las ao servidor em execução:
115 129
116```bash ~/.tmux.conf theme={null}130```bash ~/.tmux.conf theme={null}
117set -g allow-passthrough on131set -g allow-passthrough on
119set -as terminal-features 'xterm*:extkeys'133set -as terminal-features 'xterm*:extkeys'
120```134```
121 135
122A linha `allow-passthrough` permite que notificações e atualizações de progresso cheguem ao terminal externo em vez de serem engolidas pelo tmux. As linhas `extended-keys` permitem que tmux distinga Shift+Enter de Enter simples para que o atalho de quebra de linha funcione.136A linha `allow-passthrough` permite que notificações e atualizações de progresso cheguem ao terminal externo em vez de serem engolidas pelo tmux. As linhas `extended-keys` permitem que o tmux distinga Shift+Enter de Enter simples para que o atalho de nova linha funcione.
137
138<h2 id="fix-backspace-deleting-a-whole-word-on-windows">
139 Corrigir Backspace deletando uma palavra inteira no Windows
140</h2>
141
142No Windows, Claude Code lê um Backspace que chega como `^H` como Ctrl+Backspace, que [deleta a palavra anterior](/docs/pt/interactive-mode#text-editing), exceto quando `TERM_PROGRAM` é `mintty` ou `TERM` é `cygwin`. No macOS e Linux, Claude Code o lê como Backspace simples.
143
144Se cada pressão de Backspace deleta uma palavra inteira, seu terminal envia `^H` para Backspace simples. Defina [`CLAUDE_CODE_BS_AS_CTRL_BACKSPACE=0`](/docs/pt/env-vars). Backspace e Ctrl+H então apagam um caractere cada. Se Ctrl+Backspace apaga apenas um caractere no macOS ou Linux porque seu terminal envia `^H` para ele, defina a variável para `1` em vez disso.
123 145
124<h2 id="match-the-color-theme">146<h2 id="match-the-color-theme">
125 Corresponder ao tema de cores147 Corresponder ao tema de cores
126</h2>148</h2>
127 149
128Use o comando `/theme`, ou o seletor de tema em `/config`, para escolher um tema do Claude Code que corresponda ao seu terminal. Selecionar a opção auto detecta o fundo claro ou escuro do seu terminal, para que o tema siga as mudanças de aparência do SO sempre que seu terminal fizer. Claude Code não controla o esquema de cores do próprio terminal, que é definido pela aplicação de terminal.150Use o comando `/theme`, ou o seletor de tema em `/config`, para escolher um tema Claude Code que corresponda ao seu terminal. Selecionar a opção automática detecta o fundo claro ou escuro do seu terminal, para que o tema siga as mudanças de aparência do SO sempre que seu terminal fizer. Claude Code não controla o esquema de cores do próprio terminal, que é definido pela aplicação do terminal.
129 151
130Para personalizar o que aparece na parte inferior da interface, configure uma [linha de status personalizada](/pt/statusline) que mostra o modelo atual, diretório de trabalho, branch do git ou outro contexto.152Para personalizar o que aparece na parte inferior da interface, configure uma [linha de status personalizada](/docs/pt/statusline) que mostra o modelo atual, diretório de trabalho, branch do git ou outro contexto.
131 153
132<h3 id="create-a-custom-theme">154<h3 id="create-a-custom-theme">
133 Criar um tema personalizado155 Criar um tema personalizado
134</h3>156</h3>
135 157
136<Note>158Além dos presets integrados, `/theme` lista todos os temas personalizados que você definiu e quaisquer temas contribuídos pelos [plugins](/docs/pt/plugins-reference#themes) instalados. Selecione **Novo tema personalizado…** no final da lista para criar um interativamente: você nomeia o tema e depois escolhe tokens de cores individuais para substituir. Pressione `Ctrl+E` enquanto um tema personalizado está destacado para editá-lo.
137 Temas personalizados requerem Claude Code v2.1.118 ou posterior.
138</Note>
139
140Além dos presets integrados, `/theme` lista todos os temas personalizados que você definiu e quaisquer temas contribuídos por [plugins](/pt/plugins-reference#themes) instalados. Selecione **Novo tema personalizado…** no final da lista para criar um interativamente: você nomeia o tema e depois escolhe tokens de cor individuais para substituir. Pressione `Ctrl+E` enquanto um tema personalizado está destacado para editá-lo.
141 159
142Cada tema personalizado é um arquivo JSON em `~/.claude/themes/`. O nome do arquivo sem a extensão `.json` é o slug do tema, e selecionar o tema armazena `custom:<slug>` como sua preferência de tema. O arquivo tem três campos opcionais:160Cada tema personalizado é um arquivo JSON em `~/.claude/themes/`. O nome do arquivo sem a extensão `.json` é o slug do tema, e selecionar o tema armazena `custom:<slug>` como sua preferência de tema. O arquivo tem três campos opcionais:
143 161
145| :---------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------- |163| :---------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------- |
146| `name` | string | Rótulo de exibição mostrado em `/theme`. Padrão é o slug do nome do arquivo |164| `name` | string | Rótulo de exibição mostrado em `/theme`. Padrão é o slug do nome do arquivo |
147| `base` | string | Preset integrado do qual o tema começa: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, ou `light-ansi`. Padrão é `dark` |165| `base` | string | Preset integrado do qual o tema começa: `dark`, `light`, `dark-daltonized`, `light-daltonized`, `dark-ansi`, ou `light-ansi`. Padrão é `dark` |
148| `overrides` | object | Mapa de nomes de tokens de cor para valores de cor. Tokens não listados aqui caem através do preset base |166| `overrides` | object | Mapa de nomes de tokens de cores para valores de cores. Tokens não listados aqui caem através do preset base |
149 167
150Valores de cor aceitam `#rrggbb`, `#rgb`, `rgb(r,g,b)`, `ansi256(n)`, ou `ansi:<name>` onde `<name>` é um dos 16 nomes de cores ANSI padrão como `red` ou `cyanBright`. Tokens desconhecidos e valores de cor inválidos são ignorados, portanto um erro de digitação não pode quebrar a renderização.168Valores de cores aceitam `#rrggbb`, `#rgb`, `rgb(r,g,b)`, `ansi256(n)`, ou `ansi:<name>` onde `<name>` é um dos 16 nomes de cores ANSI padrão, como `red` ou `cyanBright`. Tokens desconhecidos e valores de cores inválidos são ignorados, portanto um erro de digitação não pode quebrar a renderização.
151 169
152O exemplo a seguir define um tema que mantém o preset escuro, mas recolore o acento do prompt, o texto de erro e o texto de sucesso:170O exemplo a seguir define um tema que mantém o preset escuro, mas recolore o acento do prompt, o texto de erro e o texto de sucesso:
153 171
163}181}
164```182```
165 183
166Claude Code monitora `~/.claude/themes/` e recarrega quando um arquivo muda, portanto edições feitas no seu editor se aplicam a uma sessão em execução sem necessidade de reinicialização.184Claude Code observa `~/.claude/themes/` e recarrega quando um arquivo é adicionado ou alterado, portanto as edições feitas no seu editor se aplicam a uma sessão em execução sem uma reinicialização. Se a pasta `~/.claude/themes/` em si não existisse quando Claude Code foi iniciado, reinicie uma vez após criar seu primeiro arquivo de tema. Depois disso, as mudanças se aplicam sem uma reinicialização.
167 185
168A referência abaixo cobre os tokens que você pode definir em `overrides`. O editor interativo em `/theme` mostra os mesmos tokens com uma visualização ao vivo, além de alguns acentos de propósito único, como cores de tela de integração, que são omitidas aqui.186A referência abaixo cobre os tokens que você pode definir em `overrides`. O editor interativo em `/theme` mostra os mesmos tokens com uma visualização ao vivo, além de alguns acentos de propósito único, como cores de tela de integração, que são omitidas aqui.
169 187
170<Accordion title="Referência de tokens de cor">188<Accordion title="Referência de token de cor">
171 O exemplo a seguir combina tokens de vários dos grupos abaixo: o acento da marca, a borda do modo de plano, os fundos de diff e o fundo da mensagem em tela cheia.189 O exemplo a seguir combina tokens de vários dos grupos abaixo: o acento da marca, a borda do modo de plano, os fundos de diff e o fundo da mensagem.
172 190
173 ```json ~/.claude/themes/midnight.json theme={null}191 ```json ~/.claude/themes/midnight.json theme={null}
174 {192 {
195 | `claude` | Acento da marca primária, usado para o spinner e rótulo do assistente |213 | `claude` | Acento da marca primária, usado para o spinner e rótulo do assistente |
196 | `text` | Texto em primeiro plano padrão |214 | `text` | Texto em primeiro plano padrão |
197 | `inverseText` | Texto desenhado sobre um fundo colorido, como badges de status |215 | `inverseText` | Texto desenhado sobre um fundo colorido, como badges de status |
198 | `inactive` | Texto secundário como dicas, timestamps e itens desabilitados |216 | `inactive` | Texto secundário, como dicas, timestamps e itens desabilitados |
199 | `subtle` | Bordas fracas e texto secundário de-enfatizado |217 | `subtle` | Bordas fracas e texto secundário de-enfatizado |
200 | `suggestion` | Sugestões de preenchimento automático e destaque de seleção em seletores |218 | `suggestion` | Sugestões de preenchimento automático e destaque de seleção em seletores |
201 | `permission` | Bordas de diálogo, incluindo prompts de permissão e seletores |219 | `permission` | Bordas de diálogo, incluindo prompts de permissão e seletores |
208 Sinalize estados de sucesso, falha e aviso em mensagens e indicadores.226 Sinalize estados de sucesso, falha e aviso em mensagens e indicadores.
209 227
210 | Token | Controla |228 | Token | Controla |
211 | :-------- | :-------------------------------------------------- |229 | :-------- | :-------------------------------------------------------- |
212 | `success` | Mensagens de sucesso e verificações aprovadas |230 | `success` | Mensagens de sucesso e verificações aprovadas |
213 | `error` | Mensagens de erro e falhas |231 | `error` | Mensagens de erro e falhas |
214 | `warning` | Avisos, mensagens de cautela e a borda do modo auto |232 | `warning` | Avisos, mensagens de cautela e a borda do modo automático |
215 | `merged` | Status de pull request mesclado |233 | `merged` | Status de solicitação de pull mesclada |
216 234
217 <h4 id="input-box-and-mode-indicators">235 <h4 id="input-box-and-mode-indicators">
218 Caixa de entrada e indicadores de modo236 Caixa de entrada e indicadores de modo
221 Defina a cor da borda da caixa de entrada e o acento mostrado enquanto um modo de permissão ou indicador está ativo.239 Defina a cor da borda da caixa de entrada e o acento mostrado enquanto um modo de permissão ou indicador está ativo.
222 240
223 | Token | Controla |241 | Token | Controla |
224 | :------------- | :-------------------------------------------------------- |242 | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
225 | `promptBorder` | Borda da caixa de entrada no modo de permissão padrão |243 | `promptBorder` | Borda da caixa de entrada no modo Manual |
226 | `planMode` | Acento e borda do modo de plano |244 | `planMode` | Acento e borda do modo de plano |
227 | `autoAccept` | Acento e borda do modo aceitar-edições |245 | `autoAccept` | Acento e borda do modo aceitar-edições |
228 | `bashBorder` | Borda da caixa de entrada ao inserir um comando shell `!` |246 | `bashBorder` | Borda da caixa de entrada ao inserir um comando shell `!` |
229 | `ide` | Indicador de conexão IDE |247 | `ide` | Indicador de conexão IDE |
230 | `fastMode` | Indicador de modo rápido |248 | `fastMode` | Indicador de modo rápido |
249 | `effortUltra` | A tag `ultracode` na borda da caixa de entrada enquanto [ultracode](/docs/pt/model-config#adjust-effort-level) está ativado. Sua substituição dessa cor entra em vigor no Claude Code v2.1.239 ou posterior |
231 250
232 <h4 id="diff-rendering">251 <h4 id="diff-rendering">
233 Renderização de diff252 Renderização de diff
236 Colora código adicionado e removido em edições e revisões de arquivo.255 Colora código adicionado e removido em edições e revisões de arquivo.
237 256
238 | Token | Controla |257 | Token | Controla |
239 | :------------------ | :---------------------------------------------------------- |258 | :------------------ | :---------------------------------------------------------------------------------- |
240 | `diffAdded` | Fundo de linhas adicionadas |259 | `diffAdded` | Fundo de linhas adicionadas |
241 | `diffRemoved` | Fundo de linhas removidas |260 | `diffRemoved` | Fundo de linhas removidas |
242 | `diffAddedDimmed` | Fundo de contexto inalterado perto de linhas adicionadas |261 | `diffAddedDimmed` | Fundo de linhas adicionadas no diff atenuado mostrado após você rejeitar uma edição |
243 | `diffRemovedDimmed` | Fundo de contexto inalterado perto de linhas removidas |262 | `diffRemovedDimmed` | Fundo de linhas removidas no diff atenuado mostrado após você rejeitar uma edição |
244 | `diffAddedWord` | Destaque em nível de palavra dentro de uma linha adicionada |263 | `diffAddedWord` | Destaque em nível de palavra dentro de uma linha adicionada |
245 | `diffRemovedWord` | Destaque em nível de palavra dentro de uma linha removida |264 | `diffRemovedWord` | Destaque em nível de palavra dentro de uma linha removida |
246 265
248 Modo tela cheia267 Modo tela cheia
249 </h4>268 </h4>
250 269
251 Aplique apenas no [modo de renderização em tela cheia](/pt/fullscreen), onde as mensagens têm um preenchimento de fundo.270 Claude Code pinta `userMessageBackground`, `bashMessageBackgroundColor` e `memoryBackgroundColor` nos renderizadores padrão e tela cheia. Ele usa `userMessageBackgroundHover` e `selectionBg` apenas no [modo de renderização tela cheia](/docs/pt/fullscreen).
252 271
253 | Token | Controla |272 | Token | Controla |
254 | :--------------------------- | :---------------------------------------------------------------------- |273 | :--------------------------- | :---------------------------------------------------------- |
255 | `userMessageBackground` | Fundo atrás de suas mensagens na transcrição |274 | `userMessageBackground` | Fundo atrás de suas mensagens na transcrição |
256 | `userMessageBackgroundHover` | Fundo atrás de uma mensagem enquanto pairada ou expandida |275 | `userMessageBackgroundHover` | Fundo atrás de uma mensagem enquanto pairada ou expandida |
257 | `messageActionsBackground` | Fundo atrás da mensagem selecionada quando a barra de ações está aberta |
258 | `bashMessageBackgroundColor` | Fundo atrás de entradas de comando shell `!` na transcrição |276 | `bashMessageBackgroundColor` | Fundo atrás de entradas de comando shell `!` na transcrição |
259 | `memoryBackgroundColor` | Fundo atrás de entradas de memória `#` na transcrição |277 | `memoryBackgroundColor` | Fundo atrás de entradas de memória `#` na transcrição |
260 | `selectionBg` | Fundo do texto selecionado com o mouse |278 | `selectionBg` | Fundo do texto selecionado com o mouse |
273 | `briefLabelClaude` | Cor do rótulo `Claude` em mensagens do assistente |291 | `briefLabelClaude` | Cor do rótulo `Claude` em mensagens do assistente |
274 292
275 <h4 id="shimmer-variants-and-subagent-colors">293 <h4 id="shimmer-variants-and-subagent-colors">
276 Variantes de shimmer e cores de subagentes294 Variantes de shimmer e cores de subagente
277 </h4>295 </h4>
278 296
279 Vários tokens têm uma variante de shimmer emparelhada que fornece a cor mais clara usada no gradiente animado do spinner. Substitua o shimmer junto com seu token base se a animação parecer incompatível.297 Vários tokens têm uma variante de shimmer emparelhada que fornece a cor mais clara usada no gradiente animado do spinner. Substitua o shimmer junto com seu token base se a animação parecer incompatível.
285 * `inactive` e `inactiveShimmer`303 * `inactive` e `inactiveShimmer`
286 * `fastMode` e `fastModeShimmer`304 * `fastMode` e `fastModeShimmer`
287 305
288 Cada [subagente](/pt/sub-agents) e tarefa paralela é mostrado em uma das oito cores nomeadas para que você possa diferenciá-los na transcrição. Os nomes dos tokens seguem o padrão `<color>_FOR_SUBAGENTS_ONLY`, onde `<color>` é `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, ou `cyan`. Substitua estes para alterar a aparência de cada cor nomeada. Por exemplo, um subagente com `color: blue` em sua definição é desenhado usando o valor `blue_FOR_SUBAGENTS_ONLY`.306 Cada [subagente](/docs/pt/sub-agents) e tarefa paralela é mostrado em uma das oito cores nomeadas para que você possa diferenciá-los na transcrição. Os nomes dos tokens seguem o padrão `<color>_FOR_SUBAGENTS_ONLY`, onde `<color>` é `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` ou `cyan`. Substitua estes para alterar a aparência de cada cor nomeada. Por exemplo, um subagente com `color: blue` em sua definição é desenhado usando o valor `blue_FOR_SUBAGENTS_ONLY`.
289 307
290 As palavras-chave [`ultrathink`](/pt/model-config#use-ultrathink-for-one-off-deep-reasoning) e [`ultraplan`](/pt/ultraplan) na entrada do prompt são renderizadas com um gradiente arco-íris de sete cores. Os nomes dos tokens seguem o padrão `rainbow_<color>` e `rainbow_<color>_shimmer`, onde `<color>` é `red`, `orange`, `yellow`, `green`, `blue`, `indigo`, ou `violet`.308 Claude Code renderiza a palavra-chave [`ultrathink`](/docs/pt/model-config#use-ultrathink-for-one-off-deep-reasoning) na entrada do prompt com um gradiente arco-íris de sete cores. Os nomes dos tokens seguem o padrão `rainbow_<color>` e `rainbow_<color>_shimmer`, onde `<color>` é `red`, `orange`, `yellow`, `green`, `blue`, `indigo` ou `violet`.
291</Accordion>309</Accordion>
292 310
293<h2 id="switch-to-fullscreen-rendering">311<h2 id="switch-to-fullscreen-rendering">
294 Mudar para renderização em tela cheia312 Mudar para renderização em tela cheia
295</h2>313</h2>
296 314
297Se a exibição piscar ou a posição de rolagem pular enquanto Claude está trabalhando, mude para o [modo de renderização em tela cheia](/pt/fullscreen). Ele desenha em uma tela separada que o terminal reserva para aplicativos em tela cheia em vez de anexar ao seu scrollback normal, o que mantém o uso de memória plano e adiciona suporte a mouse para rolagem e seleção. Neste modo você rola com o mouse ou PageUp dentro do Claude Code em vez de com o scrollback nativo do seu terminal; consulte a [página de tela cheia](/pt/fullscreen#search-and-review-the-conversation) para saber como pesquisar e copiar.315No [modo leitor de tela](/docs/pt/accessibility), esta seção não se aplica. Claude Code sempre renderiza como texto simples com rolagem, exceto em [sessões em segundo plano](/docs/pt/agent-view) anexadas, e se você executar `/tui fullscreen` em qualquer outra sessão, Claude Code imprime uma explicação em vez de mudar.
316
317Se a exibição piscar ou a posição de rolagem pular enquanto Claude está trabalhando, mude para o [modo de renderização em tela cheia](/docs/pt/fullscreen). Neste modo você rola com o mouse ou PageUp dentro de Claude Code em vez de usar a rolagem nativa do seu terminal; consulte a [página de tela cheia](/docs/pt/fullscreen#search-and-review-the-conversation) para saber como pesquisar e copiar.
298 318
299Se o cintilamento for o único problema e seu terminal suportar saída sincronizada, mas não for detectado automaticamente, como o Emacs `eat`, defina [`CLAUDE_CODE_FORCE_SYNC_OUTPUT=1`](/pt/env-vars) para parar o cintilamento sem alterar os renderizadores.319Se o piscar for o único problema e seu terminal suportar saída sincronizada, mas não for detectado automaticamente, como o Emacs `eat`, defina [`CLAUDE_CODE_FORCE_SYNC_OUTPUT=1`](/docs/pt/env-vars) para parar o piscar sem alterar renderizadores.
300 320
301Execute `/tui fullscreen` para mudar e salvar a preferência. Sua conversa é relançada intacta e as sessões futuras começam em tela cheia. Você também pode definir a variável de ambiente `CLAUDE_CODE_NO_FLICKER` antes de iniciar Claude Code:321Execute `/tui fullscreen` para mudar e salvar a preferência. Sua conversa é relançada intacta e futuras sessões começam em tela cheia, a menos que uma [falha de início em tela cheia](/docs/pt/fullscreen#fullscreen-renderer-didnt-finish-starting) ocorra. Você também pode definir a variável de ambiente `CLAUDE_CODE_NO_FLICKER` antes de iniciar Claude Code:
302 322
303<CodeGroup>323<CodeGroup>
304 ```bash Bash and Zsh theme={null}324 ```bash Bash and Zsh theme={null}
322 Colar conteúdo grande342 Colar conteúdo grande
323</h2>343</h2>
324 344
325Quando você cola mais de 10.000 caracteres no prompt, Claude Code reduz a entrada para um placeholder `[Pasted text]` para que a caixa de entrada permaneça utilizável. O conteúdo completo ainda é enviado para Claude quando você envia.345Quando você cola mais de 800 caracteres ou mais de três linhas no prompt, Claude Code recolhe a entrada para um espaço reservado como `[Pasted text #1 +120 lines]` para que a caixa de entrada permaneça utilizável. Em uma janela de terminal com menos de 12 linhas, o limite de linhas diminui, então Claude Code recolhe uma colagem de três linhas em 11 linhas e qualquer colagem de múltiplas linhas em 10 linhas ou menos. Claude Code ainda envia o conteúdo completo quando você submete.
346
347Quando você deleta com um atalho de palavra ou linha como `Ctrl+W` ou `Ctrl+K`, ou com uma exclusão vim através de um movimento `f`/`t` como `df]`, e o intervalo deletado atinge dentro de um espaço reservado, Claude Code remove o espaço reservado inteiro. Você pode colar a exclusão de volta para restaurá-la, com [`Ctrl+Y`](/docs/pt/interactive-mode#text-editing) após um atalho de palavra ou linha, ou com [`p` em NORMAL mode](/docs/pt/interactive-mode#editing-normal-mode) após uma exclusão vim.
348
349Claude Code mantém o conteúdo recolhido em `~/.claude/paste-cache/`, então quando você recupera um prompt do [histórico de comandos](/docs/pt/interactive-mode#command-history) e o resubmete, Claude Code envia o conteúdo colado completo novamente, inclusive em uma sessão posterior, até que a varredura de retenção remova o arquivo de cache.
350
351Claude Code deleta arquivos de cache com mais de [`cleanupPeriodDays`](/docs/pt/settings-reference#cleanupperioddays) de idade, seguindo as [regras de varredura de retenção](/docs/pt/claude-directory#cleaned-up-automatically), então um prompt recuperado pode referenciar texto colado que não existe mais. Quando você submete tal prompt, Claude Code nunca envia a string literal `[Pasted text #N]`, e mostra uma notificação nomeando a colagem ausente:
352
353* Em um prompt simples com texto restante, Claude Code remove o espaço reservado e envia o texto restante.
354* Em um comando [shell mode](/docs/pt/interactive-mode#shell-mode-with-prefix) ou um comando `/`, onde a remoção alteraria o que é executado, e em qualquer prompt cuja remoção deixa vazio, Claude Code cancela a submissão e mantém o texto original na entrada, com o espaço reservado ainda nele. Delete o espaço reservado ou edite o comando, depois resubmeta.
326 355
327O terminal integrado do VS Code pode descartar caracteres de colagens muito grandes antes de chegarem ao Claude Code, então prefira fluxos de trabalho baseados em arquivo lá. Para entradas muito grandes, como arquivos inteiros ou logs longos, escreva o conteúdo em um arquivo e peça ao Claude para lê-lo em vez de colar. Isso mantém a transcrição da conversa legível e permite que Claude referencie o arquivo por caminho em turnos posteriores.356O terminal integrado do VS Code pode descartar caracteres de colas muito grandes antes de chegarem ao Claude Code, então prefira fluxos de trabalho baseados em arquivo lá. Para entradas muito grandes, como arquivos inteiros ou logs longos, escreva o conteúdo em um arquivo e peça ao Claude para lê-lo em vez de colar. Isso mantém a transcrição da conversa legível e permite que Claude referencie o arquivo por caminho em turnos posteriores.
328 357
329<h2 id="edit-prompts-with-vim-keybindings">358<h2 id="edit-prompts-with-vim-keybindings">
330 Editar prompts com atalhos de teclado Vim359 Editar prompts com atalhos de teclado Vim
331</h2>360</h2>
332 361
333Claude Code inclui um modo de edição estilo Vim para a entrada do prompt. Ative-o através de `/config` → Editor mode, ou definindo [`editorMode`](/pt/settings#available-settings) como `"vim"` em `~/.claude/settings.json`. Defina Editor mode de volta para `normal` para desativá-lo.362Claude Code inclui um modo de edição estilo Vim para a entrada de prompt. Ative-o através de `/config` → Editor mode, ou definindo [`editorMode`](/docs/pt/settings-reference#editormode) como `"vim"` em `~/.claude/settings.json`. Defina Editor mode de volta para `normal` para desativá-lo.
334 363
335O modo Vim suporta um subconjunto de motions de modo NORMAL e VISUAL e operadores, como navegação `hjkl`, seleção `v`/`V`, e `d`/`c`/`y` com objetos de texto. Consulte a [referência do modo editor Vim](/pt/interactive-mode#vim-editor-mode) para a tabela de teclas completa.364O modo Vim suporta um subconjunto de motions e operadores dos modos NORMAL e VISUAL, como navegação `hjkl`, seleção `v`/`V`, e `d`/`c`/`y` com objetos de texto. Consulte a [referência do modo editor Vim](/docs/pt/interactive-mode#vim-editor-mode) para a tabela de teclas completa.
336 365
337Motions de Vim não são remapeáveis através do arquivo de atalhos de teclado. Para mapear uma sequência de modo INSERT de duas teclas como `jj` para Escape, defina [`vimInsertModeRemaps`](/pt/interactive-mode#remap-insert-mode-key-sequences) nas suas configurações de usuário.366Os motions do Vim não são remapeáveis através do arquivo de atalhos de teclado. Para mapear uma sequência de dois caracteres no modo INSERT, como `jj` para Escape, defina [`vimInsertModeRemaps`](/docs/pt/interactive-mode#remap-insert-mode-key-sequences) nas suas configurações de usuário.
338 367
339Pressionar Enter ainda envia seu prompt no modo INSERT, diferentemente do Vim padrão. Use `o` ou `O` no modo NORMAL, ou Ctrl+J, para inserir uma quebra de linha em vez disso.368Pressionar Enter ainda envia seu prompt no modo INSERT, diferentemente do Vim padrão. Use `o` ou `O` no modo NORMAL, ou Ctrl+J, para inserir uma nova linha.
340 369
341<h2 id="related-resources">370<h2 id="related-resources">
342 Recursos relacionados371 Recursos relacionados
343</h2>372</h2>
344 373
345* [Interactive mode](/pt/interactive-mode): referência completa de atalhos de teclado e a tabela de teclas Vim374* [Interactive mode](/docs/pt/interactive-mode): referência completa de atalhos de teclado e a tabela de teclas Vim
346* [Keybindings](/pt/keybindings): remapeie qualquer atalho do Claude Code, incluindo Enter e Shift+Enter375* [Keybindings](/docs/pt/keybindings): remapeie qualquer atalho do Claude Code, incluindo Enter e Shift+Enter
347* [Fullscreen rendering](/pt/fullscreen): detalhes sobre rolagem, pesquisa e cópia no modo tela cheia376* [Fullscreen rendering](/docs/pt/fullscreen): detalhes sobre rolagem, pesquisa e cópia no modo tela cheia
348* [Hooks guide](/pt/hooks-guide): mais exemplos de hook de Notificação para Linux e Windows377* [Hooks guide](/docs/pt/hooks-guide): mais exemplos de hook de Notificação para Linux e Windows
349* [Troubleshooting](/pt/troubleshooting): correções para problemas fora da configuração do terminal378* [Troubleshooting](/docs/pt/troubleshooting): correções para problemas fora da configuração do terminal