Parece que clear
e bash Ctrl- Lsão bem diferentes; clear
remove completamente todas as informações anteriores do terminal (para que você não possa rolar para cima) enquanto Ctrl- Lapenas rola a tela para que o cursor fique no topo da página para que você ainda possa rolar para cima e ver as informações anteriores. Eu prefiro muito mais o sistema Ctrl- L. Existe uma maneira de substituir clear
para que ele faça um Ctrl- Lem vez de limpar todas as informações anteriores do terminal? Este não é um grande problema, mas estou apenas me perguntando, por curiosidade, se existe uma maneira de alias clear
apontar para minha Ctrlfuncionalidade preferida L.
Como observação lateral, acabei de notar que o PowerShell também tem uma ligação para Ctrl- Le funciona da mesma maneira que Ctrl- Lno bash; parece que os designers do PowerShell aproveitaram muito do bash, enquanto cmd.exe
os consoles não têm essa funcionalidade.
Responder1
Existe uma maneira de substituir clear para que ele execute um Ctrl-L em vez de limpar todas as informações anteriores do terminal?
alias clear='tput -x clear'
Sim, Ctrl-L
no bash (enquanto estiver no set -o emacs
modo) faz exatamente a mesma coisa.
Ou você pode simplesmente conectar o escape com alias clear='printf "\033[H\033[2J"'
o qual deve funcionar na maioria dos emuladores de terminal e não assumir que você o possui ncurses
ou bash
o instalou.
Obs: oclear
O miniaplicativo do busybox NÃO limpa o buffer de rolagem, então você não precisa fazer nada de especial se estiver usando algum sistema baseado no busybox, como acontece com a maioria dos sistemas Linux embarcados.
Responder2
clear
é um comando de terminal, trecho de man clear
:
DESCRIPTION
clear
limpa sua tela se isso for possível, incluindo seu buffer de rolagem (se a capacidade “E3” estendida estiver definida).clear
procura no ambiente o tipo de terminal fornecido pela variável de ambiente TERM e, em seguida, no banco de dados terminfo para determinar como limpar a tela.clear
grava na saída padrão. Você pode redirecionar a saída padrão para um arquivo (o que impede que o clear realmente limpe a tela) e, posteriormente,cat
o arquivo para a tela, limpando-o naquele ponto.
Ctrl+ lé um atalho de teclado parareadline
comando clear-screen
( man 3 readline
).
Limpe a tela e redesenhe a linha atual, deixando-a na parte superior da tela. Com um argumento, atualize a linha atual sem limpar a tela.
Não consigo encontrar uma maneira de criar um alias clear
para o comando readline clear-screen
e pode não ser possível.