Por que se incomodar?
Limpar o buffer de rolagem é útil de várias maneiras, por exemplo, quando eu desejo executar algum comando com saída longa e deseja rolar rapidamente para o início desta saída. Quando o buffer de rolagem está desmarcado, posso simplesmente rolar para o topo e será feito.
Algumas considerações:
Existe o comando clear , de acordo com o homem,
clear clears your screen if this is possible, including its scrollback buffer (if the extended "E3" capability is defined).
No gnome-terminal clear não não limpa o buffer de rolagem. (O que é o recurso "E3"?)
Existe também reset , que limpa, mas faz um pouco mais do que isso, e é muito lento (no meu sistema leva mais de um segundo, o que é um atraso significativo para os humanos serem notados).
E há echo -ne '\ec' ou echo -ne '3c' , que faz o trabalho. E, de fato, é muito mais rápido que reset .
A pergunta é, o que é \ec sequence, como ele difere de qual clear e reset , e por que não existe um comando separado para ele?
Há também a sequência chave C-l da readline, que por padrão está vinculada ao comando clear-screen (ou seja, comando readline, não shell). O que é esse comando? Qual sequência de escape ela emite? Como de fato, isso funciona? Ele executa o comando shell? Ou o que? Novamente, no gnome-terminal, parece que funciona apenas cuspindo linhas em branco até que o prompt apareça na linha superior do terminal. Não tenho certeza sobre outros emuladores de terminal. Esse é um comportamento muito complicado. Ele polui o retrocesso com pedaços de vazio, então você deve rolar mais e mais. É como um hack, em vez de uma solução limpa.
Outra questão é, existe um comando readline para a sequência \ec mencionada? Eu quero vinculá-lo a C-l em vez disso, porque eu sempre quero limpar o buffer de rolagem quando limpo a tela.
E outra pergunta é como digitar essa seqüência de escape no terminal, para executar a ação desejada? Então não é necessário pensar em ligar C-l a outro comando readline (se tal comando existir). Tentei digitar Esc e, em seguida, c , mas isso não funciona.
UPDATE
Essa pergunta foi respondida principalmente aqui: link . É uma resposta muito boa, que explica quase todas as perguntas feitas aqui.