Parece que clear
y bash Ctrlson Lbastante diferentes; clear
elimina por completo toda la información anterior del terminal (por lo que no puede desplazarse hacia arriba) mientras que Ctrlsimplemente Ldesplaza la pantalla para que el cursor esté en la parte superior de la página para que aún pueda desplazarse hacia arriba y ver la información anterior. Prefiero el sistema Ctrl- L. ¿Hay alguna manera de anularlo clear
para que haga un Ctrl- Len lugar de borrar toda la información anterior del terminal? Este no es un gran problema, pero me pregunto por curiosidad si hay una manera de crear un alias clear
para señalar mi Ctrlfuncionalidad preferida L.
Como nota al margen, acabo de notar que PowerShell también tiene un enlace para Ctrl( Ly funciona de la misma manera que Ctrl) Len bash; Parece que los diseñadores de PowerShell tomaron mucho de bash, mientras que cmd.exe
las consolas no tienen esta funcionalidad.
Respuesta1
¿Hay alguna manera de anular el borrado para que haga Ctrl-L en lugar de borrar toda la información anterior del terminal?
alias clear='tput -x clear'
Sí, Ctrl-L
en bash (mientras está en set -o emacs
modo) hace exactamente lo mismo.
O simplemente puede cablear el escape con alias clear='printf "\033[H\033[2J"'
el que debería funcionar en la mayoría de los emuladores de terminal, y no supone que lo tenga ncurses
instalado bash
.
Nota: elclear
El subprograma de Busybox NO borra el búfer de desplazamiento hacia atrás, por lo que no tiene que hacer nada especial si está utilizando algún sistema basado en Busybox, como lo hacen la mayoría de los sistemas Linux integrados.
Respuesta2
clear
es un comando de terminal, extracto de man clear
:
DESCRIPCIÓN
clear
borra la pantalla si esto es posible, incluido su búfer de desplazamiento hacia atrás (si se define la capacidad extendida "E3").clear
busca en el entorno el tipo de terminal proporcionado por la variable de entorno TERM, y luego en la base de datos terminfo para determinar cómo borrar la pantalla.clear
escribe en la salida estándar. Puede redirigir la salida estándar a un archivo (lo que impide que clear borre realmente la pantalla) y luegocat
el archivo a la pantalla, borrelo en ese punto.
Ctrl+ les una combinación de teclas parareadline
El clear-screen
comando ( man 3 readline
).
Borre la pantalla, luego vuelva a dibujar la línea actual, dejando la línea actual en la parte superior de la pantalla. Con un argumento, actualiza la línea actual sin borrar la pantalla.
No puedo encontrar una manera de asignar un alias clear
al clear-screen
comando readline y puede que no sea posible en absoluto.