Conheço o clear
comando que 'limpa' a tela atual, mas faz isso apenas imprimindo muitas linhas novas - o conteúdo limpo apenas é rolado para cima.
Existe uma maneira de limpar completamente toda a saída anterior do terminal para que eu não possa alcançá-la, mesmo rolando para cima?
Command+K
.Respostas:
Para limpar o terminal manualmente:
⌘+K
Command+ Kpara teclados mais recentes
Para limpar o terminal de dentro de um script de shell;
fonte
clear
para todos os casos , exceto onde você precisa a história scrollback para realmente desaparecer, por exemplo, quando você está indo para imprimir.)clear
. Eu sinto que eles deveriam ser revertidos, no entanto. Digitarclear
parece mais intencional do que baterCommand + K
.Uma maneira melhor de limpar a tela de dentro de um script ...
Se você estiver usando o aplicativo OSX Terminal (conforme declarado pelo OP), uma abordagem melhor (graças a https://apple.stackexchange.com/a/113168 ) é exatamente isso:
ou mais concisamente (dica para https://stackoverflow.com/users/4834046/qiuyi ):
que limpa o buffer de rolagem e a tela. Também existem outras opções, consulte https://apple.stackexchange.com/a/113168 para obter mais informações.
resposta original
A resposta AppleScript dada neste segmento funciona, mas tem o efeito colateral desagradável de limpar QUALQUER janela do terminal que esteja ativa. Isso é surpreendente se você estiver executando o script em uma janela e tentando concluir o trabalho em outra!
Você evita isso refinando o AppleScript para limpar a tela apenas se estiver na frente, fazendo isso (obtido em https://apple.stackexchange.com/a/31887 ):
... mas como quando não é a janela atual, a saída se empilha até que se torne atual novamente, o que provavelmente não é o que você deseja.
fonte
.bash_profile
e é incrível, porque às vezes não recebo o buffer com falha ao abrir uma nova janela do terminal.O jeito bonito é
printf '\33c\e[3J'
fonte
alias cls='printf "\33c\e[3J"'
\33c
executa o equivalente aoclear
comando, que basicamente apenas rola a tela até que você não consiga ver o conteúdo anterior. Ele limpa a tela, mas não o buffer de rolagem para trás (ou seja, você ainda pode usar as barras de rolagem para ver a saída antiga). Adicione o\e[3J
para realmente limpar o buffer de rolagem para trás.function cls { printf '\33c\e[3J\33c' }
linha~/.profile
(ou em todo o sistema/etc/profile
). Isso deve funcionar em ambientes de desktop no macOS, FreeBSD, Linux etc. Observe que o extra\33c
é para limpar o\e[3J
literal extra no não-macOS (basicamente para Linux / FreeBSD, precisamos apenasprintf '\33c'
).Coloque isso no seu .bash_profile ou .bashrc
fonte
No Mac OS X Terminal, essa funcionalidade já está incorporada ao Aplicativo de Terminal como
View->Clear Scrollback
(o padrão é CMD+ K).Assim, você pode redesigná-lo como quiser com os atalhos de teclado da Apple. Basta adicionar um novo atalho para o Terminal com o comando "Clear Scrollback". (Uso CMD+ L, porque é semelhante a CTRL+ Lpara limpar o conteúdo da tela atual, sem limpar o buffer.)
Não tenho certeza de como você usaria isso em um script (talvez AppleScript, como outros já apontaram).
fonte
View->Clear Scrollback
não está mais presente no menu do Terminal. O atalho de tecladoCMD
+K
ainda funciona, no entanto.Clear Scrollback
acabou de passar deView
paraEdit
Yosemite.Com o Mac OS X Yosemite (10.10), use
Option + Command + K
para limpar a rolagem no Terminal.app.fonte
Ou você pode enviar uma quebra de página (feed de formulário ASCII) pressionando:
Enquanto isso tecnicamente apenas inicia uma nova página, isso tem o mesmo efeito líquido que todos os outros métodos, embora seja muito mais rápido (exceto para a solução Apple + K, é claro).
E porque este é um comando de controle ASCII, ele funciona em todos os shells.
fonte
Para excluir apenas a última saída:
⌘+L
Para limpar o terminal completamente:
⌘+K
fonte
Command + K limpa a saída anterior
Para limpar o texto digitado, primeiro pule para a esquerda com " Command + A " e depois apague o texto à direita do ponteiro com " Control + K ".
Exemplos visuais:
fonte
limpa tudo, funciona bem no osX também. muito arrumado
fonte
Faça a coisa certa, faça a coisa certa!
Limpar para a marca anterior:
Command-L
Limpar para o marcador anterior:
Option-Command-L
Limpar para começar:
Command-K
Ajude seus rapazes!
fonte
Não consegui fazer com que nenhum dos itens acima funcione (no macOS).
Uma combinação funcionou para mim -
Isso limpa o buffer e a tela
fonte
IO.write
. Deve funcionar da mesma maneira, mas você decide imprimir esses caracteres no terminal.Digitando o seguinte no terminal irá apagar seu histórico (ou seja, usando a seta para cima vai te dar nada) - mas não vai limpar a tela:
fonte
Tente isso, se você estiver sobrecarregado com a saída, se quiser um filtro
atividade de db do shell adb -d | grep ActivityRecord
fonte
CMD + K parece funcionar o tempo todo para mim.
fonte