O que geralmente acontece quando trabalho em um shell - zsh - é que ed cd
em algum lugar e quero dar uma olhada rápida no diretório. Usar ls
pode produzir muita saída e deixá-la no terminal. Usar ls | less
é melhor, porém novamente deixa rastros quando eu saio, less
toda a sua saída está lá. Você tem uma ideia de como posso fazer algo parecido, ls | less
mas quando saio less
, a tela do terminal permanece intacta.
Responder1
Para mim, less
se comporta como você descreve - preciso usar less -X
paradesabilitaresse comportamento.
Você poderia tentar explicitamente usando o "buffer de tela alternativo"que muitos terminais implementam.
Isso é usado por editores como vim
/ nano
, para que, ao sair, o terminal seja restaurado como era antes.
Experimente isto:
tput smcup
ls | less
tput rmcup
Se tput
não estiver disponível, tente usar echo $'\e[?1049h'
/ echo $'\e[?1049l'
respectivamente.
Responder2
Como você mencionou que está usando o zsh, você pode aproveitar as vantagens do preenchimento de guias interno do zsh. Você não obterá uma listagem "longa" de ls, mas poderá visualizar nomes de diretórios e arquivos digitando "ls" seguido de uma guia. Você verá quais arquivos/diretórios você poderia potencialmente "ls" em seu diretório de trabalho atual e, em seguida, poderá ls um especificamente, adicionar um "-l nome do arquivo" para visualizar um em particular em detalhes ou apenas clicar em "Control- u" para limpar a linha em que você está e se preparar para inserir um comando diferente, e as sugestões de preenchimento de tabulação desaparecerão.
Por exemplo, quando eu "ls" [TAB] em uma das minhas VMs, vejo:
user@fbsd:~% ls
.cshrc .mailrc .ssh/
.login .profile .zshrc
.login_conf .rhosts code/
.mail_aliases .shrc inventory.hw.gather.sh*
Quando clico em Control-u, as sugestões abaixo da minha linha de comando desaparecem.