Lo que sucede a menudo cuando trabajo en un shell (zsh) es que he cd
ed en alguna parte y quiero echar un vistazo rápido al directorio. El uso ls
puede producir una gran cantidad de resultados y dejarlos en la terminal. Usar ls | less
es mejor, sin embargo, nuevamente deja rastros cuando salgo, less
toda su salida está ahí. ¿Tienes una idea de cómo puedo hacer algo así, ls | less
pero cuando salgo less
, deja la pantalla del terminal intacta?
Respuesta1
Para mí, less
se comporta como usted describe: necesito usarlo less -X
paradesactivareste comportamiento.
Podrías intentar usar explícitamente el "buffer de pantalla alternativo" que muchos terminales implementan.
Esto lo utilizan editores como vim
/ nano
, para que al salir, el terminal vuelva a estar como estaba antes.
Prueba esto:
tput smcup
ls | less
tput rmcup
Si tput
no está disponible, intente usar echo $'\e[?1049h'
/ echo $'\e[?1049l'
respectivamente.
Respuesta2
Como mencionas que estás usando zsh, puedes aprovechar la función de finalización de tabulación incorporada de zsh. No obtendrá una lista de ls "larga", pero puede obtener una vista previa de los nombres de directorios y archivos escribiendo "ls " seguido de una pestaña. Verá qué archivos/directorios podría potencialmente "ls" en su directorio de trabajo actual, y luego puede seleccionar uno específicamente, agregar un "-l nombre de archivo" para ver uno en particular en detalle, o simplemente presionar "Control- u" para borrar la línea en la que se encuentra y prepararse para ingresar un comando diferente, y las sugerencias para completar la pestaña desaparecerán.
Por ejemplo, cuando hago clic en "[TAB] en una de mis máquinas virtuales, veo:
user@fbsd:~% ls
.cshrc .mailrc .ssh/
.login .profile .zshrc
.login_conf .rhosts code/
.mail_aliases .shrc inventory.hw.gather.sh*
Cuando presiono Control-u, las sugerencias debajo de mi línea de comando desaparecen.