Atalhos do Terminal: Keybindings do Readline que Você Precisa
O que você vai conseguir fazer
- Agilizar o terminal com atalhos como Ctrl+A e Ctrl+R
- Recuperar rapidamente comandos que você já digitou
Pré-requisitos (leia estes primeiro)
Seu Terminal Pode Ser Muito Mais Rápido
Você erra a digitação de um comando e lá vai você, batendo nas setas para voltar tecla por tecla. Só mover o cursor para lá e para cá já consome tempo. Redigitar aquele comando longo que você executou há pouco é igualmente chato.
Esses movimentos lentos desaparecem assim que você aprende alguns atalhos (keybindings: combinações fixas de teclas que disparam uma ação).
Neste guia, Lina e o veterano Linny percorrem juntos os atalhos do Readline que aceleram a entrada de comandos no terminalUm programa interativo que interpreta os comandos digitados e os executa.. As mesmas teclas funcionam tanto no bash quanto no zsh (bash e zsh são shells — o programa que recebe os comandos que você digita e os executa).
O que Você Vai Aprender
- Que esses atalhos vêm de uma biblioteca chamada Readline
- Como pular para o início ou fim de uma linha instantaneamente (Ctrl+A / Ctrl+E)
- Como apagar entrada em massa (Ctrl+U / Ctrl+K / Ctrl+W)
- Como pesquisar e reutilizar comandos anteriores com Ctrl+R
- Um resumo rápido que você pode começar a usar hoje
- Um mini exercício prático para fixar o que você aprendeu
1. De Onde Vêm Esses Atalhos?
Conclusão: Atalhos como Ctrl+A não são específicos do bash. Eles vêm do Readline, uma biblioteca de edição de linha. Por isso funcionam em muitos shells.
Readline é o "editor de linha"
O Readline gerencia aquela única linha de texto de comando: inserir, editar, recuperar do histórico. Por padrão ele usa os keybindings no estilo Emacs, por isso tantos atalhos usam Ctrl.
2. Pular para o Início ou Fim da Linha Instantaneamente
Conclusão:
Ctrl+Apula para o início da linha.Ctrl+Epula para o fim. Chega de apertar as setas para corrigir o início de um comando longo.
sudo no início de um comando longo. Ctrl+A te leva ao início com uma única tecla.echo this is an example of a very long command
| Tecla | Ação | Dica de memorização |
|---|---|---|
Ctrl+A |
Mover para o início da linha | Antes (início) |
Ctrl+E |
Mover para o fim da linha | End (fim) |
Ctrl+F |
Um caractere à direita | Forward (avançar) |
Ctrl+B |
Um caractere à esquerda | Backward (recuar) |
Alt+F |
Uma palavra à direita | Forward por palavra |
Alt+B |
Uma palavra à esquerda | Backward por palavra |
As setas funcionam bem para um único caractere. Mas aprender os saltos por palavra Alt+F / Alt+B reduz o número de teclas necessárias para corrigir um caminhoUma sequência de texto que descreve a localização de um arquivo ou diretório. ou uma opção.
No Terminal padrão do macOS, a tecla Alt (Option) às vezes não funciona de primeira. Nesse caso, aperte Esc e depois F para o mesmo efeito.
3. Como Apagar Erros em Massa
Conclusão:
Ctrl+Uapaga tudo antes do cursor.Ctrl+Kapaga tudo depois.Ctrl+Wapaga a palavra anterior. Você pode aposentar a tecla Backspace.
/home/lina/Documents?/ — fique atenta a isso.| Tecla | Ação |
|---|---|
Ctrl+U |
Apaga tudo antes do cursor |
Ctrl+K |
Apaga tudo depois do cursor |
Ctrl+W |
Apaga a palavra (bloco separado por espaços) antes do cursor |
Ctrl+Y |
Cola de volta o que você acabou de apagar |
Quanto o Ctrl+U apaga depende do seu shell
No bash, Ctrl+U apaga apenas o que está antes do cursor. Na configuração padrão do zsh, ele apaga a linha inteira, independente da posição do cursor. Teste primeiro com uma entrada curta e veja com seus próprios olhos até onde ele apaga.
Cortar e colar são um par
O texto removido com Ctrl+U / Ctrl+K / Ctrl+W é armazenado em um buffer chamado "kill ring". Ctrl+Y (Yank) cola de volta imediatamente. Apagou algo por engano? Não precisa entrar em pânico.
4. Como Reutilizar um Comando que Você Já Executou
Conclusão:
Ctrl+Rpesquisa o histórico em ordem inversa. Digite parte de uma palavra-chave e recupere um comando longo do passado instantaneamente.
docker de ontem — preciso mesmo redigitar tudo?Ctrl+R, depois digite parte do comando, como docker.(reverse-i-search)`docker': docker compose up -d --build
O fluxo do Ctrl+R
- Aperte
Ctrl+R(o promptUm símbolo (como $ ou #) exibido quando o shell está esperando sua entrada. mostra(reverse-i-search)) - Digite parte do comando (correspondências parciais aparecem)
- Aperte
Ctrl+Rnovamente para correspondências mais antigas Enterpara executar /Ctrl+Gpara cancelar
As setas para cima/baixo, ou Ctrl+P (Previous) / Ctrl+N (Next), percorrem o histórico um comando de cada vez. Quando você só quer ajustar o último comando, isso é mais rápido.
5. Resetar a Tela e Sua Entrada
Conclusão:
Ctrl+Llimpa a tela.Ctrl+Cinterrompe um comando em execução.Ctrl+Dsinaliza fim da entrada. Esses são seus atalhos de saída quando algo parece travado.
Ctrl+L limpa tudo na hora. É o mesmo que o comando clear, mas mais rápido do que digitá-lo. E se um comando parece travado e não termina, Ctrl+C o interrompe.Ctrl+D. Meu terminal inteiro fechou, e eu entrei em pânico...Ctrl+D sinaliza "terminei de digitar" — não tem efeito nenhum sobre um comando que já está em execução.Ctrl+C. Não tem mais nada para digitar? Ctrl+D. Em um prompt vazio, Ctrl+D te desconecta (o shell fecha). Você também o usa para terminar a entrada quando, por exemplo, o cat está esperando você digitar.| Tecla | Ação |
|---|---|
Ctrl+L |
Limpar a tela (igual ao clear) |
Ctrl+C |
Interromper o comando em execução |
Ctrl+D |
Fim da entrada / sair do shell em prompt vazio |
Ctrl+C e Ctrl+D fazem coisas diferentes. Ctrl+C significa "parar o que está rodando agora". Ctrl+D significa "terminei de digitar". Se algo parece travado, tente Ctrl+C primeiro.
6. Os Atalhos para Aprender Primeiro
Conclusão: Você não precisa de todos de uma vez. Treine apenas cinco — início/fim de linha, apagar linha e pesquisa no histórico. Só isso já reduz o tempo que cada comando leva para ser digitado.
| Prioridade | Tecla | Ação |
|---|---|---|
| 1 | Ctrl+A |
Mover para o início da linha |
| 2 | Ctrl+E |
Mover para o fim da linha |
| 3 | Ctrl+U |
Apagar tudo antes do cursor |
| 4 | Ctrl+R |
Pesquisar o histórico em ordem inversa |
| 5 | Ctrl+L |
Limpar a tela |
Os atalhos só fixam quando você os usa em comandos reais. Experimente na prática em Como Usar o Terminal.
7. Mini Exercícios - Coloque a Mão na Massa
Tarefa 1: Digite um comando longo (ainda não aperte Enter) e mova o cursor para o início e o fim da linha o mais rápido possível.
Ver Dica 1 (Direção)
Você não precisa ficar apertando as setas repetidamente. Uma única tecla pode pular direto para qualquer uma das pontas da linha.
Ver Dica 2 (Nome das Teclas)
Use Ctrl+A para o início da linha e Ctrl+E para o fim.
Ver a Resposta
Digite um comando longo com echo (ainda não aperte Enter). Ctrl+A leva o cursor ao início da linha. Ctrl+E leva ao fim. Os dois acontecem instantaneamente.
Tarefa 2: Posicione o cursor no meio de um comando digitado e apague "só o que vem antes" e "só o que vem depois" separadamente.
Ver Dica 1 (Direção)
Em vez de segurar o Backspace, existem teclas dedicadas que limpam tudo antes do cursor, e tudo depois dele, com um único toque cada.
Ver Dica 2 (Nome das Teclas)
Ctrl+U apaga antes do cursor. Ctrl+K apaga depois dele.
Ver a Resposta
Com o cursor no meio de um comando, Ctrl+U apaga tudo antes dele. Ctrl+K (na mesma posição) apaga tudo depois. Ctrl+Y cola o texto apagado de volta.
Tarefa 3: Recupere um comando que você digitou antes usando a pesquisa no histórico.
Ver Dica 1 (Direção)
Você não precisa lembrar o comando inteiro. Uma tecla permite encontrar um comando anterior digitando só um fragmento dele.
Ver Dica 2 (Nome das Teclas)
Aperte Ctrl+R, depois digite parte do comando.
Ver a Resposta
Aperte Ctrl+R e o prompt mostra (reverse-i-search). Digite parte do comando (por exemplo, echo), e um comando anterior correspondente aparece. Aperte Enter para executá-lo, ou Ctrl+G para cancelar.
Resumo
- Esses atalhos Ctrl vêm da biblioteca Readline, por isso funcionam tanto no bash quanto no zsh
Ctrl+A/Ctrl+Epulam instantaneamente para o início e o fim da linhaCtrl+U/Ctrl+K/Ctrl+Wapagam entrada em massa, eCtrl+Ycola de voltaCtrl+Uapaga tudo antes do cursor — cuidado, ele pode apagar mais do que você espera dependendo da posição do cursorCtrl+Rpesquisa comandos anteriores por palavra-chave para reutilizá-losCtrl+L(limpar),Ctrl+C(interromper) eCtrl+D(fim de entrada) são bons de conhecer- Comece com apenas cinco e aprenda usando-os