Como limpo o que digitei no prompt?

16

Eu digito um comando muito, muito longo no bash. Opa, foi o comando errado.
A partir de agora, isso significa que eu passo por dois infernos:

  1. Perceber meu comando era inútil.
  2. Ter que limpar meu shell mantendo pressionada Backspaceaté que o prompt seja limpo.

Existe uma maneira mais rápida?

digitxp
fonte

Respostas:

15

Control + Aentão Control + K. O primeiro move o cursor para o início da linha, o segundo limpa a linha após o cursor.

Uma maneira mais confusa de fazer isso é pressionar enter e pressionar Control + C. Crédito para @ billc.cn

Se você deseja limpar todo o prompt, use Control + L.

soandos
fonte
6
Ctrl + C é mais rápido em alguns casos, embora bastante feio: P
billc.cn
1
Não pensei que fosse relevante. Eu pensei que ele queria limpar a linha, não matar um programa em execução.
Soandos
1
Basta digitar algo em bashe pressionar Ctrl-C e ver o que você recebe.
billc.cn
2
Ctrl-L limpa a tela, mas retém o que você digitou.
Alger
3
Então, isso faz o oposto do que ele quer.
soandos
19

Ctrl-U limpa a entrada de comando digitada, até a posição atual do cursor. Portanto, se você o usar logo após digitar o comando, mas não mover o cursor para trás, limpará tudo o que digitou.

Alger
fonte
2
Na verdade, "Limpa a linha antes da posição do cursor. Se você estiver no final da linha, limpa a linha inteira". O que é próximo, mas não totalmente preciso o tempo todo. É o oposto de Ctrl + K
soandos
Bom ponto. Na situação colocada na pergunta, porém, o cursor provavelmente está no final da linha, portanto, ele deve funcionar para esse fim. Corrigi a resposta para esclarecer isso.
Alger
Daí o meu voto positivo.
soandos
@ Alger para mim, está sempre limpando tudo, independentemente de onde o cursor é movido para trás ou não. echo $0 retorna /bin/csh.
24713 Geek
1
+1 porque isso funciona no shell mysql e no bash shell: D
wim