Limpe o terminal usando o atalho do teclado


57

Fiquei curioso para saber se existe uma maneira de limpar o buffer / saída do terminal através de algum atalho de teclado. Estou usando o Ubuntu. Estou ciente de que

Ctrl + L

limpa o terminal, mas você ainda pode voltar para ver o texto antigo. Estou procurando algo semelhante ao que

reset 

comando faz. No Mac

apple + k

parece fazer o truque.


Você pode digitar "limpar".
Darren

Respostas:


42

No terminal gnome, você pode editar os atalhos do teclado com Edit -> Reset Shortcuts... Você pode mapear o comando "Reset and Clear", que parece fazer o que você está procurando.

Como alternativa, você pode limitar o histórico de rolagem a um número pequeno (digamos 0) e Ctrl + L estará mais próximo do que você está procurando.


2
Isso pode ter sido alterado nas versões mais recentes do gnome e do terminal do gnome. Para mim é Edit -> Preferences -> Shortcuts(estou usando o GNOME Terminal v3.16.2)
Chris Sprague

2
"Redefinir e limpar" era o que eu estava procurando, exceto pelo fato de não ter preservado o prompt. Seguir imediatamente com Ctrl + L restaura o prompt. Portanto, com Reset e Clear vinculado a Ctrl + K, posso pressionar Ctrl + K, Ctrl + L para limpar a rolagem e me deixar com um prompt pronto.
Trevor Dixon

28
  • CTRL+ ulimpa do cursor para o início da linha

  • CTRL+ klimpa do cursor até o final da linha

  • CTRL+ dlimpa um caractere à direita do cursor

  • Esc+ Backspacelimpa uma palavra à esquerda do cursor

  • Esc+ dlimpa uma palavra à direita do cursor

  • Alt+ left/rightpula para o início da palavra anterior / seguinte

Para limpar a tela inteira, adicione o seguinte alias ao seu ~/.bashrcarquivo:

alias cls="echo -ne '\033c'"

Agora, em um novo terminal, a digitação clslimpará tudo, incluindo o buffer de rolagem. Funciona muito mais rápido do que resetjá que não redefine nada.

De fato, resetsó é necessário quando você deseja consertar um terminal quebrado, por exemplo, depois de executar catem um arquivo binário.

Se você estiver no OSX, o Command ( ) + klimpará o terminal ( e o console do chrome devtools 😉) .


E como eu adicionaria um atalho para fazer isso usando sem digitar cls?
FloatingRock

2
@ FloatingRock: isso dependeria do ambiente da área de trabalho e, possivelmente, do seu terminal; se o terminal não tiver como anexar um comando a um atalho, sua única chance é definir um atalho global do sistema, dependente da DE. Por exemplo, no XFCE, seria Configurações> Teclado> Atalhos, não lembre-se de outros shells.
Ccpizza

Eu estive procurando algo assim por meses .. #
agregate1166877

3

Ctrl + L redesenha o terminal; isso não esclarece. Se você estiver em um aplicativo de tela cheia, como less ou vim, o comando Ctrl-L é o que você usa para redesenhar uma tela corrompida. No vim com destaque de sintaxe de cores, por exemplo, você pode usar ctrl_l para atualizar as cores se rolar uma longa distância e o vim ficar confuso ao combinar aspas ou colchetes ou similares.

Apenas para referência, se alguém pesquisar e encontrar isso ... Se você precisar limpar o buffer de rolagem para trás, defina seu buffer para 0 linhas ou feche a janela e reabra-a. Ou "enquanto verdadeiro; imprima; pronto" e depois interrompa com ctrl + c quando você tiver linhas suficientes para liberar o buffer. O buffer de rolagem depende da aplicação; portanto, embora a solução fornecida funcione para o terminal Gnome, não funcionará para nenhum outro dispositivo de terminal.


Esse "golpe no buffer" não funcionará no modo de rolagem ilimitada.
Ruslan #

@Ruslan Eu quero uma dessas máquinas de memória infinita. ;)
dannysauer

1

Eu uso o Konsole. Eu sempre usei Ctrl+ Shift+ Xno passado para limpar tudo, incluindo a rolagem. Agora existe uma maneira nova e melhor: Ctrl+ Shift+ Ke o Google "atalhos de teclado do konsole limpar histórico" não o leva lá com muita facilidade, mas leva você até aqui.


0

Cmd+ Ctrl+ Lexecuta o clearcomando no mac.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.